Вопрос по выводу списка товара на любой странице

Помогите победить, не выводит список товаров на странице

При выводе кодом тип:

{if $wa->shop}
{$products = $wa->shop->productSet("sale")}
{include file="`$wa->shop->themePath('incart')`list-thumbs.html" products=$products}
{/if}

Выдает ошибку:

Unable to load template file 'inc/product.badge.html' in 'wa-data/public/shop/themes/incart/list-thumbs.html' code 0
## wa-system/waSystem.class.php(631)
#0 index.php(7): waSystem->dispatch()
#1 {main}

Next SmartyException with message 'Unable to load template file 'inc/product.badge.html' in 'wa-data/public/shop/themes/incart/list-thumbs.html'':
## wa-system/vendors/smarty3/sysplugins/smarty_internal_templatebase.php(133)
#0 wa-system/vendors/smarty3/sysplugins/smarty_internal_template.php(286): Smarty_Internal_TemplateBase->fetch(Object(Smarty_Internal_Template), NULL, NULL, NULL, false, false, true)
#1 wa-cache/apps/shop/templates/compiled/shop_ru_RU/68/44/0d/68440d75169fd9eed37e984dfff4d4b66e274973.file.list-thumbs.html.php(71): Smarty_Internal_Template->getSubTemplate('inc/product.bad...', NULL, 'shop_ru_RU', NULL, NULL, Array, 0)
#2 wa-system/vendors/smarty3/sysplugins/smarty_internal_templatebase.php(186): content_5eb30ed3ef90f9_79397614(Object(Smarty_Internal_Template))
#3 wa-system/vendors/smarty3/sysplugins/smarty_internal_template.php(286): Smarty_Internal_TemplateBase->fetch(Object(Smarty_Internal_Template), NULL, NULL, NULL, false, false, true)
#4 wa-cache/apps/shop/templates/compiled/shop_ru_RU/89/45/95/894595164131e719ff702538d79e6a05a2029aa6.string.php(29): Smarty_Internal_Template->getSubTemplate('/var/www/www-ro...', NULL, 'shop_ru_RU', NULL, NULL, Array, 0)
#5 wa-system/vendors/smarty3/sysplugins/smarty_internal_templatebase.php(186): content_5eb30ef20aba23_22396081(Object(Smarty_Internal_Template))
#6 wa-system/view/waSmarty3View.class.php(144): Smarty_Internal_TemplateBase->fetch('string:{if $wa-...', NULL)
#7 wa-system/page/actions/waPage.action.php(90): waSmarty3View->fetch('string:{if $wa-...')
#8 wa-system/page/actions/waPage.action.php(77): waPageAction->renderPage(Array)
#9 wa-apps/shop/lib/actions/frontend/shopFrontendPage.action.php(8): waPageAction->execute()
#10 wa-system/controller/waViewAction.class.php(161): shopFrontendPageAction->execute()
#11 wa-system/page/actions/waPage.action.php(105): waViewAction->display(false)
#12 wa-apps/shop/lib/actions/frontend/shopFrontendPage.action.php(26): waPageAction->display(false)
#13 wa-system/controller/waViewController.class.php(86): shopFrontendPageAction->display()
#14 wa-system/controller/waDefaultViewController.class.php(48): waViewController->executeAction(Object(shopFrontendPageAction))
#15 wa-system/controller/waController.class.php(21): waDefaultViewController->execute()
#16 wa-system/controller/waViewController.class.php(46): waController->run(NULL)
#17 wa-system/controller/waFrontController.class.php(263): waViewController->run(NULL)
#18 wa-system/controller/waFrontController.class.php(190): waFrontController->runController(Object(waDefaultViewController), NULL)
#19 wa-system/controller/waFrontController.class.php(84): waFrontController->execute(NULL, 'frontend', 'page')
#20 wa-system/waSystem.class.php(941): waFrontController->dispatch()
#21 wa-system/waSystem.class.php(615): waSystem->dispatchFrontend('new/')
#22 index.php(7): waSystem->dispatch()
#23 {main}
GET
array()
Params
array(
'app' => 'shop',
'_name' => 'Магазин',
'theme' => 'incart',
'theme_mobile' => 'incart',
'checkout_version' => '2',
'locale' => 'ru_RU',
'ssl_all' => '1',
'title' => '',
'meta_keywords' => '',
'meta_description' => '',
'og_title' => 'Интернет-магазин корейская косметика для кожи с бесплатной доставкой. Купить в Москве, СПБ',
'og_description' => 'Оригинальная косметика из Кореи. Улиточные кремы, алоэ-гели, альгинатные и тканевые маски, гидрогелевые патчи для глаз, bb cream – хиты и новинки, актуальные скидки и подарки',
'og_type' => 'website',
'og_url' => 'https://yeoja.market/',
'url_type' => '0',
'products_per_page' => '',
'type_id' => array(
0 => '1',
),
'currency' => 'RUB',
'stock_id' => '1',
'public_stocks' => array(
0 => '1',
),
'drop_out_of_stock' => '2',
'payment_id' => '0',
'shipping_id' => '0',
'ssl' => '1',
'checkout_storefront_id' => '2043db28d720c1af285ae20d9279c2c3',
'module' => 'frontend',
'action' => 'page',
'page_id' => '65',
)

Ответ webasyst:

На ваш запрос «Вывод списка товаров на странице» поступил ответ от службы поддержки Webasyst:


Ошибки указывают на шаблон list-thumbs.html - невозможно загрузить файл 'inc/product.badge.html', указанный в коде данного шаблона. Проверьте содержимое файла list-thumbs.html, отмените последние изменения.

Код самого listthumbs.html
{strip}
{$_theme_products_view_grid_type = waRequest::cookie('_theme_products_view_grid',$theme_settings.products_default_view_type)}
{if !in_array($_theme_products_view_grid_type,["carded","wide","list"])}{$_theme_products_view_grid_type = "carded"}{/if}
{$_products_view_grid_classes = [
"carded" => "c-item_gv item_gv",
"wide" => "item_lsv",
"list" => "item_lnv"
]}
{$_products_list_features_limit = (isset($category) && isset($category.params.products_features_limit) && (!empty($category.params.products_features_limit) || $category.params.products_features_limit eq "0")) ? $category.params.products_features_limit : $theme_settings.products_list_features_limit}
{if $theme_settings.products_list_features ne "none" && isset($show_features) && $_products_list_features_limit>0}
{$features = $wa->shop->features($products)}
{$_products_list_features_codes = (isset($category) && !empty($category.params.products_features_codes)) ? $category.params.products_features_codes : $theme_settings.products_list_features_codes}
{if !empty($_products_list_features_codes)}{$_products_list_features_codes = explode(",",$_products_list_features_codes)}{/if}
{/if}
{if !isset($list_only)}
<div class="catalog-items">
<div class="c-item__wrapper items-wrapper {$_products_view_grid_classes[$_theme_products_view_grid_type]}{if isset($theme_settings.products_equal_height) && $theme_settings.products_equal_height} has-equal-items{/if} {$products_list_view|default:$theme_settings.products_list_view}{if $theme_settings.products_view eq 'wide'} c-item_wide{else} c-item_narrow{/if}">
{/if}
{foreach $products as $p}
{$available = $wa->shop->settings('ignore_stock_count') || $p.count === null || $p.count > 0}
{$pre_order_only = $wa->shop->settings('ignore_stock_count') && $p.count !== null && $p.count <= 0}
{$_product_image_src = $wa->shop->productImgUrl($p, "280x0")}
{if $theme_settings.products_list_features ne "none" && isset($show_features) && $_products_list_features_limit>0}
{$p._selected_features = []}
{* change default features list to selected *}
{if !empty($_products_list_features_codes)}
{foreach $_products_list_features_codes as $f_code}
{if isset($p.features[$f_code])}
{$p._selected_features[$f_code] = $p.features[$f_code]}
{/if}
{/foreach}
{*$p.features = $p._selected_features|default:[]*}
{else}
{$p._selected_features = $p.features}
{/if}
{/if}
<meta itemprop="image" content='{$_product_image_src|default:"`$wa_parent_theme_url`img/dummy200.png"}'>
<form class="item cat-item__purchase" data-title="{$p.name|escape}" data-price="{shop_currency_html($p.price)|escape}" data-oldprice="{if $p.compare_price > 0}{shop_currency_html($p.compare_price)|escape}{/if}" data-image="{$_product_image_src|default:"`$wa_parent_theme_url`img/dummy200.png"}" {if $p.sku_count > 1}data-url="{$p.frontend_url}{if strpos($p.frontend_url, '?')}&{else}?{/if}cart=1"{/if} method="post" action="{$wa->getUrl('/frontendCart/add')}">
{include file="inc/product.badge.html" badge=$p.badge hide_brand=true product=false}
<div class="item__main">
<div class="item__image-wr item__image-wr_gv">
<div class="item__actions">
<div class="item__btn-l">
{if $theme_settings.products_show_quickview eq "all" || ($theme_settings.products_show_quickview eq "registered" && $wa->isAuthEnabled() && $wa->user()->isAuth())}
<div class="item__btn-it item__btn-it_prev">
<button class="act-btn act-btn_circ act-btn_prev act-btn_tlp" title="[`Quickview`]" data-url="{$p.frontend_url}" data-kmgtm="quick">
<svg class="icon" width="17" height="12"><use xlink:href="#icon-eye"></use></svg>
</button>
</div>
{/if}
{if $theme_settings.products_show_wishlist eq "all" || ($theme_settings.products_show_wishlist eq "registered" && $wa->isAuthEnabled() && $wa->user()->isAuth())}
{$theme_favorite = explode(",",waRequest::cookie('shop_favorite'))}
<div class="item__btn-it item__btn-it_fav">
<button class="act-btn act-btn_circ act-btn_fav act-btn_tlp btn-fav-{$p.id}{if in_array($p.id,$theme_favorite)} active{/if}" data-product="{$p.id}" title="{if in_array($p.id,$theme_favorite)}[`Remove from favorites`]{else}[`Add to favorites`]{/if}" data-act-rem="[`Remove from favorites`]" data-act-ad="[`Add to favorites`]">
<svg class="icon" width="17" height="16"><use xlink:href="#icon-fav-new"></use></svg>
</button>
</div>
{/if}
{if $theme_settings.products_show_compare eq "all" || ($theme_settings.products_show_compare eq "registered" && $wa->isAuthEnabled() && $wa->user()->isAuth())}
{$compare = explode(",",waRequest::cookie('shop_compare'))}
<div class="item__btn-it item__btn-it_comp">
<button class="act-btn act-btn_circ act-btn_comp act-btn_tlp btn-compare-{$p.id}{if in_array($p.id,$compare)} active{/if}" title="{if in_array($p.id,$compare)}[`Remove from comparison table`]{else}[`Add to comparison table`]{/if}" data-act-rem="[`Remove from comparison table`]" data-act-ad="[`Add to comparison table`]" data-url="{$wa->getUrl('/frontend/compare/', ['id' => implode(',', $compare) ])}" data-product="{$p.id}">
<svg class="icon" width="19" height="16"><use xlink:href="#icon-comp-new"></use></svg>
</button>
</div>
{/if}
<div class="item__btn-it item__btn-it_cart">
<button class="act-btn act-btn_circ act-btn_text act-btn_cart uni-btn uni-btn--red" type="submit"{if !$available} disabled="disabled"{/if}>
<span class="hover-anim"></span>
<svg class="icon" width="19" height="23"><use xlink:href="#icon-cart-new"></use></svg>
<span>[`Add to cart`]</span>
</button>
<p>{shopIncartsPlugin::showInfo($p.id)}</p>
</div>
</div>
</div>
<a class="item__image item__image_gv" href="{$p.frontend_url}" data-kmgtm="product-click">
<img class="item__img lazy" src="data:image/gif;base64,R0lGODlhyADIAIAAAP///wAAACH5BAEAAAEALAAAAADIAMgAAAL+jI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKpfMpvMJjUqn1Kr1is1qt9yu9wsOi8fksvmMTqvX7Lb7DY/L5/S6/Y7P6/f8vv8PGCg4SFhoeIiYqLjI2Oj4CBkpOUlZaXmJmam5ydnp+QkaKjpKWmp6ipqqusra6voKGys7S1tre4ubq7vL2+v7CxwsPExcbHyMnKy8zNzs/AwdLT1NXW19jZ2tvc3d7f0NHi4+Tl5ufo6err7O3u7+Dh8vP09fb3+Pn6+/z9/v/w8woMCBBAsaPIgwocKFDBs6fAgxosSJFCtavIgxo8YHjRw7eixTAAA7" data-src="{$_product_image_src|default:"`$wa_parent_theme_url`img/dummy200.png"}"{if !$_product_image_src} alt="[`No image available`]"{else} alt="{$p.name|escape}"{/if} />
{if $p.compare_price > 0 && $theme_settings.products_show_economy}
{include file="inc/product.saving.html" product=$p}
{/if}
</a>
</div>
<div class="item__title-w">
<a class="item__title" href="{$p.frontend_url}" data-kmgtm="product-click"><span itemprop="name">{$p.name}</span></a>
{if $theme_settings.products_list_gv_show_summary && !isset($hide_description)}
<div class="item__descr item__descr_gv">{strip_tags($p.summary)}</div>
{/if}
{if (($theme_settings.products_show_rating_stars eq "nonempty" && $p.rating > 0) || $theme_settings.products_show_rating_stars eq "allways") && $theme_settings.products_show_reviews}
{include file="inc/product.rating.html" product=$p wrapper_class="item__rating_ln"}
{/if}
</div>
<div class="item__content-wr">
<div class="item__image-wr item__image-wr_ln-ls">
<a class="item__image item__image_ln-ls" href="{$p.frontend_url}" data-kmgtm="product-click">
<img class="item__img lazy" src="data:image/gif;base64,R0lGODlhyADIAIAAAP///wAAACH5BAEAAAEALAAAAADIAMgAAAL+jI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKpfMpvMJjUqn1Kr1is1qt9yu9wsOi8fksvmMTqvX7Lb7DY/L5/S6/Y7P6/f8vv8PGCg4SFhoeIiYqLjI2Oj4CBkpOUlZaXmJmam5ydnp+QkaKjpKWmp6ipqqusra6voKGys7S1tre4ubq7vL2+v7CxwsPExcbHyMnKy8zNzs/AwdLT1NXW19jZ2tvc3d7f0NHi4+Tl5ufo6err7O3u7+Dh8vP09fb3+Pn6+/z9/v/w8woMCBBAsaPIgwocKFDBs6fAgxosSJFCtavIgxo8YHjRw7eixTAAA7" data-src="{$_product_image_src|default:"`$wa_parent_theme_url`img/dummy200.png"}"{if !$_product_image_src} alt="[`No image available`]"{else} alt="{$p.name|escape}"{/if} />
</a>
{if $theme_settings.products_show_quickview eq "all" || ($theme_settings.products_show_quickview eq "registered" && $wa->isAuthEnabled() && $wa->user()->isAuth())}
<div class="item__actions item__actions_ln-ls">
<div class="item__btn-l">
<div class="item__btn-it">
<button class="act-btn act-btn_circ act-btn_prev act-btn_tlp" title="[`Quickview`]" data-url="{$p.frontend_url}" data-kmgtm="quick">
<svg class="icon" width="17" height="13">
<use xlink:href="#icon-eye"></use>
</svg>
</button>
</div>
</div>
</div>
{/if}
</div>
<div class="item__info-block">
<div class="item__prc-outer item__prc-outer_main">
{if $theme_settings.products_show_reviews}
{if isset($theme_settings.products_equal_height) && $theme_settings.products_equal_height}
<div class="item__rating">
{if ($theme_settings.products_show_rating_stars eq "nonempty" && $p.rating > 0) || $theme_settings.products_show_rating_stars eq "allways"}
{include file="inc/product.rating.html" product=$p stars_only=true}
{/if}
</div>
{else}
{if ($theme_settings.products_show_rating_stars eq "nonempty" && $p.rating > 0) || $theme_settings.products_show_rating_stars eq "allways"}
{include file="inc/product.rating.html" product=$p}
{/if}
{/if}
{/if}
<div class="item__prc-w">
<div class="prc">
<div class="prc__i prc__i_reg">{shop_currency_html($p.price)}</div>
{if $p.compare_price > 0}
<div class="prc__i prc__i_old">{shop_currency_html($p.compare_price)}</div>
{/if}
</div>
</div>
{if $theme_settings.products_list_features eq "yes"}
<div class="item__tech-chars item__tech-chars_gv">
{if !empty($p.features)}
{if !empty($p._selected_features)}
<table class="chars">
{$_i = 1}
{foreach $p._selected_features as $f_code => $f_value}
{if $features[$f_code].type == 'divider'}{continue}{/if}
<tr class="chars__row">
<td class="chars__prop">
{$features[$f_code].name|escape}
</td>
<td class="chars__value"{if is_array($f_value) && $features[$f_code].type == 'color'} style="vertical-align:middle;"{/if}>
{if is_array($f_value)}
{if $features[$f_code].type == 'color'}
<div class="tech-colors">
{foreach $f_value as $color}
<div class="tech-colors__i">
<div class="item-color act-btn act-btn_tlp" title="{$color->value}" style="{$color->style}{if $color->code >= 16777215}border-color:#e5e5e5;{/if}">{$color->code}</div>
</div>
{/foreach}
</div>
{else}
{implode(', ', $f_value)}
{/if}
{else}
{$f_value}
{/if}
</td>
</tr>
{if $_i >= $_products_list_features_limit}{break}{/if}
{$_i = $_i+1}
{/foreach}
</table>
{/if}
{/if}
</div>
{/if}
{if $p.compare_price > 0 && $theme_settings.products_show_economy}
<div class="item__ecm-lb item__ecm-lb_ln-ls">
{include file="inc/product.saving.html" product=$p without_wrapper=true}
</div>
{/if}
</div>
<div class="item__stk-outer">
{if $available}
<div class="stock-info stock-info--cat {if $pre_order_only}stock-info--not{else}stock-info--stock{/if}">
<span class="stock-icon">
<svg class="icon" width="7" height="8"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#{if $pre_order_only}icon-not-stock{else}icon-in-stock{/if}"></use></svg>
</span>
<span class="stock-text">{if $pre_order_only}[`Pre-order only`]{else}[`In stock`]{/if}</span>
</div>
<meta itemprop="price" content="{$p.price}">
<meta itemprop="priceCurrency" content="{$wa->shop->primaryCurrency()}">
{else}
<div class="stock-info stock-info--cat stock-info--not">
<span class="stock-icon">
<svg class="icon" width="7" height="8"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-not-stock"></use></svg>
</span>
<span class="stock-text">[`Out of stock`]</span>
</div>
<meta itemprop="price" content="{$p.price}">
<meta itemprop="priceCurrency" content="{$wa->shop->primaryCurrency()}">
{/if}
</div>
</div>
</div>
</div>
{if $theme_settings.products_list_features ne "none" && !empty($p._selected_features)}
<div class="item__tech-chars item__tech-chars_lsv">
<table class="chars">
{$_i = 1}
{foreach $p._selected_features as $f_code => $f_value}
{if $features[$f_code].type == 'divider'}{continue}{/if}
<tr class="chars__row">
<td class="chars__prop">
{$features[$f_code].name|escape}
</td>
<td class="chars__value"{if is_array($f_value) && $features[$f_code].type == 'color'} style="vertical-align:middle;"{/if}>
{if is_array($f_value)}
{if $features[$f_code].type == 'color'}
<div class="tech-colors">
{foreach $f_value as $color}
<div class="tech-colors__i">
<div class="item-color act-btn act-btn_tlp" title="{$color->value}" style="{$color->style}{if $color->code >= 16777215}border-color:#e5e5e5;{/if}">{$color->code}</div>
</div>
{/foreach}
</div>
{else}
{implode(', ', $f_value)}
{/if}
{else}
{$f_value}
{/if}
</td>
</tr>
{if $_i >= $_products_list_features_limit}{break}{/if}
{$_i = $_i+1}
{/foreach}
</table>
</div>
{/if}
{if $p.summary}
<div class="item__descr">
<p itemprop="description">{strip_tags($p.summary)}</p>
</div>
{/if}
<div class="item__actions item__actions_ls">
<div class="item__btn-l">
{if $theme_settings.products_show_wishlist eq "all" || ($theme_settings.products_show_wishlist eq "registered" && $wa->isAuthEnabled() && $wa->user()->isAuth())}
<div class="item__btn-it">
<button class="act-btn act-btn_lsv act-btn_fav act-btn_tlp btn-fav-{$p.id}{if in_array($p.id,$theme_favorite)} active{/if}" href="#" data-product="{$p.id}" title="{if in_array($p.id,$theme_favorite)}[`Remove from favorites`]{else}[`Add to favorites`]{/if}" data-act-rem="[`Remove from favorites`]" data-act-ad="[`Add to favorites`]">
<svg class="icon" width="16" height="16"><use xlink:href="#icon-fav-new"></use></svg>
</button>
</div>
{/if}
{if $theme_settings.products_show_compare eq "all" || ($theme_settings.products_show_compare eq "registered" && $wa->isAuthEnabled() && $wa->user()->isAuth())}
<div class="item__btn-it">
<button class="act-btn act-btn_lsv act-btn_comp act-btn_tlp btn-compare-{$p.id}{if in_array($p.id,$compare)} active{/if}" href="#" title="{if in_array($p.id,$compare)}[`Remove from comparison table`]{else}[`Add to comparison table`]{/if}" data-act-rem="[`Remove from comparison table`]" data-act-ad="[`Add to comparison table`]" data-url="{$wa->getUrl('/frontend/compare/', ['id' => implode(',', $compare) ])}" data-product="{$p.id}">
<svg class="icon" width="19" height="16"><use xlink:href="#icon-comp-new"></use></svg>
</button>

</div>
{/if}
</div>
</div>
</div>
<div class="item__bottom">
<div class="item__info-block item__info-block_ls">
<div class="item__prc-w">
<div class="prc">
<div class="prc__i prc__i_reg">{shop_currency_html($p.price)}</div>
{if $p.compare_price > 0}
<div class="prc__i prc__i_old">{shop_currency_html($p.compare_price)}</div>
{/if}
</div>
</div>
{if $p.compare_price > 0 && $theme_settings.products_show_economy}
<div class="item__ecm-lb item__ecm-lb_ln-ls">
{include file="inc/product.saving.html" product=$p without_wrapper=true}
</div>
{/if}
<div class="item__stk">
{if $available}
<div class="stock-info stock-info--cat {if $pre_order_only}stock-info--not{else}stock-info--stock{/if}">
<span class="stock-icon">
<svg class="icon" width="7" height="8"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#{if $pre_order_only}icon-not-stock{else}icon-in-stock{/if}"></use></svg>
</span>
<span class="stock-text">{if $pre_order_only}[`Pre-order only`]{else}[`In stock`]{/if}</span>
</div>
{else}
<div class="stock-info stock-info--cat stock-info--not">
<span class="stock-icon">
<svg class="icon" width="7" height="8"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-not-stock"></use></svg>
</span>
<span class="stock-text">[`Out of stock`]</span>
</div>
{/if}
</div>
</div>
<div class="item__bottom-actions{if ($theme_settings.products_show_wishlist eq "none" || ($theme_settings.products_show_wishlist eq "registered" && (!$wa->isAuthEnabled() || !$wa->user()->isAuth()))) && ($theme_settings.products_show_compare eq "none" || ($theme_settings.products_show_compare eq "registered" && (!$wa->isAuthEnabled() || !$wa->user()->isAuth())))} no-action-btns{/if}">
<div class="item__amount">
<div class="it-amount{if !$available} is-disabled{/if}">
<div class="it-amount__title">
<div class="it-amount__title-tt">[`Quantity`]</div>
<div class="it-amount__title-mt">[`Qty`]</div>
</div>
<div class="it-amount__num">
<input type="tel" name="quantity" value="1">
<div class="it-amount__inc-dec">
<div class="it-amount__inc"></div>
<div class="it-amount__dec"></div>
</div>
</div>
</div>
</div>
<div class="item__cart-actions">
{if ($theme_settings.products_show_wishlist eq "all" || ($theme_settings.products_show_wishlist eq "registered" && $wa->isAuthEnabled() && $wa->user()->isAuth()))
|| ($theme_settings.products_show_compare eq "all" || ($theme_settings.products_show_compare eq "registered" && $wa->isAuthEnabled() && $wa->user()->isAuth()))}
<div class="item__actions">
<div class="item__btn-l">
{if $theme_settings.products_show_wishlist eq "all" || ($theme_settings.products_show_wishlist eq "registered" && $wa->isAuthEnabled() && $wa->user()->isAuth())}
<div class="item__btn-it">
<a class="act-btn act-btn_rnd act-btn_icn act-btn_bot act-btn_fav act-btn_tlp btn-fav-{$p.id}{if in_array($p.id,$theme_favorite)} active{/if}" href="#" data-product="{$p.id}" title="{if in_array($p.id,$theme_favorite)}[`Remove from favorites`]{else}[`Add to favorites`]{/if}" data-act-rem="[`Remove from favorites`]" data-act-ad="[`Add to favorites`]">
<svg class="icon" width="16" height="16"><use xlink:href="#icon-fav-new"></use></svg>
</a>
</div>
{/if}
{if $theme_settings.products_show_compare eq "all" || ($theme_settings.products_show_compare eq "registered" && $wa->isAuthEnabled() && $wa->user()->isAuth())}
<div class="item__btn-it">
<a class="act-btn act-btn_rnd act-btn_icn act-btn_bot act-btn_comp act-btn_tlp btn-compare-{$p.id}{if in_array($p.id,$compare)} active{/if}" href="#" title="{if in_array($p.id,$compare)}[`Remove from comparison table`]{else}[`Add to comparison table`]{/if}" data-act-rem="[`Remove from comparison table`]" data-act-ad="[`Add to comparison table`]" data-url="{$wa->getUrl('/frontend/compare/', ['id' => implode(',', $compare) ])}" data-product="{$p.id}">
<svg class="icon" width="19" height="16"><use xlink:href="#icon-comp-new"></use></svg>
</a>
</div>
{/if}
</div>
</div>
{/if}
<div class="item__cart-btn">
<button class="act-btn act-btn_cart uni-btn uni-btn--red" type="submit"{if !$available} disabled="disabled"{/if}>
<span class="hover-anim"></span>
<div class="act-btn__icon">
<svg class="icon" width="19" height="23"><use xlink:href="#icon-cart-new"></use></svg>
</div>
<div class="act-btn__text">[`Add to cart`]</div>
</button><br>
<center><p>{shopIncartsPlugin::showInfo($p.id)}</p></center>
</div>
</div>
{if method_exists("shopQuickorderPlugin","quickorderForm")}
<div class="item__one-click">{shopQuickorderPlugin::quickorderForm($p)}</div>
{/if}
</div>
</div>
<input type="hidden" name="product_id" value="{$p.id}">
</form>
</div>
{/foreach}
{if !isset($list_only)}
</div>
</div>
{/if}
{/strip}

1 ответ
a
Евгений Леман
programmer
#
7 мая 2020 13:56

Здравствуйте!

Убрать эту ошибку не сложно, но делать этого мы всё равно не будем, ибо это не имеет никакого смысла. Этот функционал был введен в те древние времена, когда у тем в принципе не было собственных настроек. В современных же темах их сотни. И в шаблоне list-thumbs.html в том числе. А из-за особенностей системы при таком подключении шаблона в него не передаются значения настроек темы. Совсем. А значит будет тонна предупреждений об обращении к несуществующим переменным в логах сервера. А иногда и прямо на странице(зависит от настроек сервера). Плюс еще куча других проблем.
На dev-форуме вебасист писал уже разработчикам о том, чтобы они убрали информацию о таком способе подключения. Тут: https://developers.webasyst.ru/forum/34942/podklyuchenie-spiskov-v-kontent-tekstovykh-stranits/


Ну и в двух словах о том, как обойти ошибку, которую получаете вы. Создайте новый шаблон listthumbs.html, скопировав в него содержимое обычного list-thumbs.html. В новом шаблоне удалите все строки вида:

{include file=..........}

И в самой текстовой странице подключайте уже не list-thumbs.html, а новый шаблон.

Чтобы добавить комментарий, зарегистрируйтесь или войдите