Не работает просмотренные товары. Bitrix
09/07/2015

Сегодня понадобилось вывести товары просмотренные пользователем через модуль bitrix:catalog.viewed.products, и к моему удивлению модуль ничего не вывел, оказалось что Монитор производительности: b_catalog_viewed_product пустой, соответственно данные о просмотре не собираются, эти же данные используются для новой фишки битрикса catalog.bigdata.products. В тех поддержке сказали для теста подключить стандартный шаблон catalog.element, после подключения данные начали появляться, но проблема в том что у меня свой шаблон (кастомизированный), как же обойти данное неудобство. В стандартном компоненте данные собираются файлом script.js и передаются на запись в файл ajax.php (находится в папке компонента) и уже он записывает данные в базу. Решением данного вопроса является добавление скрипта в наш файл шаблона кастомизированного компонента.

<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>

После добавления данного кода данные записываются и мы можем спокойно выводить просмотренные товары и данные bigdata.

  • Комментарии
Загрузка комментариев...