Skip to content
ms3RecentlyViewed
ms3RecentlyViewed
Блок «Недавно просмотренные товары» для MiniShop3 — хранение в браузере или БД, похожие товары, админка
  • MODX 3
  • PHP 8.1
  • miniShop3
  1. Компоненты
  2. ms3RecentlyViewed
  3. Сниппеты
  4. ms3recentlyviewedSimilar

Сниппет ms3recentlyviewedSimilar ​

Товары из тех же категорий (родителей), что у переданных ID. Эти ID исключаются. Блок «Похожие на просмотренные».

Параметры ​

ПараметрОписаниеПо умолчанию
idsID просмотренных товаров через запятую—
tplЧанк карточки товараtplSimilarItem
limitМакс. количество в выборке10
depthГлубина поиска по категориям. Значение < 2 сниппет и AJAX поднимают до 22
tplOuterЧанк-обёртка(пусто)
fromDBID из БД, если пользователь авторизован в текущем контексте. Нет в transportfalse
autoIdsFallbackДемо-ID при fromDB и пустом списке. По умолчанию выкл., нет в transportfalse
fallbackToRoot / fallbackReturnIdsЗапасной поиск по каталогу, если по категории пусто. Нет в transporttrue
whereДоп. where для msProducts (JSON). Сливается с id:NOT IN. Нет в transport—
showUnpublished / showDeletedВ запрос товаров. Нет в transportfalse

Примеры ​

fenom
{'ms3recentlyviewedSimilar' | snippet : [
  'ids' => $_modx->getPlaceholder('viewedIds'),
  'limit' => 8,
  'depth' => 2,
  'tpl' => 'tplSimilarItem'
]}
modx
[[!ms3recentlyviewedSimilar?
  &ids=`[[+viewedIds]]`
  &limit=`8`
  &depth=`2`
  &tpl=`tplSimilarItem`
]]

Если по категориям пусто, сниппет может выбрать по всему каталогу с большей глубиной. Без ID возвращается пустая строка.

renderSimilar() в viewed.js: 8 товаров по умолчанию, текущий исключается, depth не передаётся. На сервере остаётся 2. Пустой ответ скрывает контейнер. Лимит сниппета по умолчанию 10.

Коннектор (AJAX): POST action=similar, ids, опционально limit, tpl, depth. Контекст: ms3recentlyviewed.context (по умолчанию web). См. Подключение на сайте.