Skip to content
ms3Favorites
ms3Favorites
Списки избранного для MiniShop3 и других ресурсов — хранение в браузере, синхронизация в БД
  1. Компоненты
  2. ms3Favorites
  3. Сниппеты
  4. ms3Favorites

Сниппет ms3Favorites

Выводит список товаров или ресурсов по переданным ID. Используется для блока «Избранное» при серверном выводе или после получения ID из коннектора.

Поддерживает resource_type: products (msProducts), resources (pdoResources), articles, pages, custom. Для products требуется MiniShop3.

Параметры

ПараметрОписаниеПо умолчанию
idsID товаров/ресурсов через запятую
listИмя списка (default, gifts, plans)default
resource_typeТип ресурсов: products, resources, articles, pages, customproducts
tplЧанк карточки товараtplFavoritesItem
emptyTplЧанк пустого состоянияtplFavoritesEmpty
limitМакс. количество в выборкеиз настройки ms3favorites.max_items (20)
pageНомер страницы (для pdoPage)1
offsetСмещение (для pdoPage)(page-1)*limit
totalVarПлейсхолдер для общего количества

Параметр ids передаётся извне: из JS при вызове коннектора или из другого сниппета (ms3FavoritesIds). Для пагинации используйте pdoPage с element=ms3Favorites.

Примеры

fenom
{'!ms3Favorites' | snippet : [
  'ids' => $favoritesIds,
  'tpl' => 'tplFavoritesItem',
  'emptyTpl' => 'tplFavoritesEmpty',
  'limit' => 10
]}
modx
[[!ms3Favorites?
  &ids=`[[+favorites_ids]]`
  &tpl=`tplFavoritesItem`
  &emptyTpl=`tplFavoritesEmpty`
  &limit=`10`
]]

С пагинацией через pdoPage:

fenom
{'!pdoPage' | snippet : [
  'element' => 'ms3Favorites',
  'ids' => $_modx->getPlaceholder('favorites_ids'),
  'list' => 'default',
  'limit' => 12,
  'tpl' => 'tplFavoritesPageItem',
  'emptyTpl' => 'tplFavoritesEmpty',
  'totalVar' => 'page.total',
  'pageNavVar' => 'page.nav'
]}
<nav class="pagination">{$_modx->getPlaceholder('page.nav')}</nav>
modx
[[!pdoPage?
  &element=`ms3Favorites`
  &ids=`[[+favorites_ids]]`
  &list=`default`
  &limit=`12`
  &tpl=`tplFavoritesPageItem`
  &emptyTpl=`tplFavoritesEmpty`
  &totalVar=`page.total`
  &pageNavVar=`page.nav`
]]
<nav class="pagination">[[!+page.nav]]</nav>

При отсутствии товаров сниппет вернёт контент emptyTpl: в шаблоне можно не выводить блок при пустом результате.