Очень часто возникают вопросы по поводу того, что на дефолтном комплексном шаблоне каталога Битрикс, компонент просмотренные товары работает корректно. Тогда как в кастомных шаблонах на проч отказывается показывать товары просмотренные ранее.
Все дело в том, что дефолтный шаблон передает данные о просмотренном товаре через js файл, который в кастоме понятное дело отсутствует.
Выходим из ситуации: вставляем ниже данный код либо в сам шаблон компонента bitrix:catalog.element, либо в сопутствующий ему js файл.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<script type="text/javascript"> var viewedCounter = { path: '/bitrix/components/bitrix/catalog.element/ajax.php', params: { AJAX: 'Y', SITE_ID: "<?= SITE_ID ?>", PRODUCT_ID: "<?= $arResult['ID'] ?>", PARENT_ID: "<?= $arResult['ID'] ?>" } }; BX.ready( BX.defer(function(){ BX.ajax.post( viewedCounter.path, viewedCounter.params ); }) ); </script> |
Так-же в вызове компанента(просмотренные товары) проверьте вот такой-вот интересный параметр:
1 |
"SHOW_PRODUCTS_".$arParams['IBLOCK_ID'] => "Y", |
[Y|N] При отмеченной опции товары из данного каталога, которые просмотрит пользователь, будут отображаться среди просмотренных товаров. Если опция не отмечена, то товары из данного каталога не будут отображаться среди просмотренных, даже если пользователь их просмотрит.
Если данная опция отмечена, то становятся доступными для настройки параметры отображения товаров каталога и соответствующих торговых предложений (при наличии).