Как человек наступивший на ВСЕ грабли в этом вопросе, хочу скомпилировать варианты решения проблемы из этой ветки форума и рассказать почему они не срабатывали у многих из нас.
Варианты с написанием кастомного кода в тех или иных местах не рассматриваю.
Для того, чтобы заставить компонент работать штатными методами нужно выполнить несколько описанных тут советов одновременно и кое что не описанное. А именно:
Не достаточно. Во-первых, если вы используете комплексный компонент то этот параметр называется немного иначе: "DETAIL_SET_VIEWED_IN_COMPONENT". Во-вторых, если вы используете старые или кем-то модифицированные компоненты, убедитесь, что комплексный компонент пробрасывает этот параметв в конечный компонент (Привет, Михаил Базаров со своим компонентом simple, который ты советуешь использовать в сових видео). А так, как параметры немного разные, то тут тоже нужно не натупить и написать вот так:
Дале в админке обязательно нужно установить нужную галочку
Читая код компонента я не понял при чём тут эта галочка. Но как раз над ней находится "Сохранять просмотренные товары каталога:" В коде компонента есть проверка на установку именно её.
Правильно рекомендовал эту галочку Константин:
Однако и после этого компонент просмотренных товаров ни чего может не выдать.
и убеждаемся что он пробрасывается до catalog.element
И вот теперь всё должно заработать.
Краткое повторение:
Только при выполнении этих трёх условий, компонент catalog.element начинает запоминать просмотренные товары, а catalog.products.viewed начинает их отображать.
P.S. Ну и большое спасибо разработчикам Битрикса, что ни о чём этом не написано в документации.
Варианты с написанием кастомного кода в тех или иных местах не рассматриваю.
Для того, чтобы заставить компонент работать штатными методами нужно выполнить несколько описанных тут советов одновременно и кое что не описанное. А именно:
Цитата |
---|
Евгений Жуков написал: Достаточно установить настройку "SET_VIEWED_IN_COMPONENT" (Включить сохранение информации о просмотре товара для старых шаблонов) в компоненте. |
Не достаточно. Во-первых, если вы используете комплексный компонент то этот параметр называется немного иначе: "DETAIL_SET_VIEWED_IN_COMPONENT". Во-вторых, если вы используете старые или кем-то модифицированные компоненты, убедитесь, что комплексный компонент пробрасывает этот параметв в конечный компонент (Привет, Михаил Базаров со своим компонентом simple, который ты советуешь использовать в сових видео). А так, как параметры немного разные, то тут тоже нужно не натупить и написать вот так:
Код |
---|
"SET_VIEWED_IN_COMPONENT" => $arParams["DETAIL_SET_VIEWED_IN_COMPONENT"], |
Дале в админке обязательно нужно установить нужную галочку
Цитата |
---|
Сергей Панчук написал: Для новых версий Битрикса ничего не нужно добавлять. Достаточно поставить галочку "Использовать совместимость для просмотренных товаров каталога" в настройках модуля Интернет-магазина. |
Правильно рекомендовал эту галочку Константин:
Цитата |
---|
Константин Сейферов написал: Настройки -> Настройки продукта -> Настройки модулей -> Интернет магазин / Торговый каталог (в зависимости что используете) -> Включаем "Сохранять просмотренные товары каталога" -> Сохранить |
Однако и после этого компонент просмотренных товаров ни чего может не выдать.
- Уточняю, что для того, чтобы он заработал, нужно чтобы компонент catalog.element при выводе карточки товара сохранял данные о товаре в специальную таблицу. Поэтому мы колдуем именно с ним, а не с компонентом catalog.products.viewed с которым изначально возникла проблема.
Код |
---|
"COMPATIBLE_MODE" => "Y",// Включить режим совместимости |
И вот теперь всё должно заработать.
Краткое повторение:
- SET_VIEWED_IN_COMPONENT должен быть установлен в Y
- Чтобы он таким и остался COMPATIBLE_MODE должен быть установлен в Y
- В настройках модуля должна быть включена галочка "Сохранять просмотренные товары каталога"
Только при выполнении этих трёх условий, компонент catalog.element начинает запоминать просмотренные товары, а catalog.products.viewed начинает их отображать.
P.S. Ну и большое спасибо разработчикам Битрикса, что ни о чём этом не написано в документации.