
Сниппет ms3recentlyviewedSimilar
Выводит товары из тех же категорий (родителей), что и переданные ID просмотренных, исключая сами эти товары. Блок «Похожие на просмотренные».
Оптимизация: один запрос getCollection для получения родительских категорий всех просмотренных товаров вместо N отдельных запросов.
Параметры
| Параметр | Описание | По умолчанию |
|---|---|---|
| ids | ID просмотренных товаров через запятую | — |
| tpl | Чанк карточки товара | tplSimilarItem |
| limit | Макс. количество в выборке | 10 |
| depth | Глубина поиска по категориям (уровни вложенности) | 2 (в логике сниппета глубина не опускается ниже 2 при выборке по категориям) |
| fromDB | Загрузить ID просмотренных из БД для авторизованного (вместо ids) | false |
Параметр fromDB повторяет идею сниппета ms3recentlyviewed: при включённой синхронизации и авторизации в контексте web подставляются ID из таблицы. Для гостей возможен демо-fallback ID (см. код пакета), если включена соответствующая опция.
Примеры
{'ms3recentlyviewedSimilar' | snippet : [
'ids' => $_modx->getPlaceholder('viewedIds'),
'limit' => 8,
'depth' => 2,
'tpl' => 'tplSimilarItem'
]}[[!ms3recentlyviewedSimilar?
&ids=`[[+viewedIds]]`
&limit=`8`
&depth=`2`
&tpl=`tplSimilarItem`
]]Если по категориям ничего не найдено, сниппет может перейти к fallback (например, выборка по всему каталогу с увеличенной глубиной) — см. changelog пакета.
Через коннектор (AJAX): POST с action=similar, параметры ids, опционально limit, tpl, depth.
