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

Сниппет ms3FavoritesIds ​

Возвращает ID элементов списка избранного. Данные берутся из БД по user_id или session_id (гости при включённой настройке guest_db_enabled). Если БД пуста — из cookie.

Параметры ​

ПараметрОписаниеПо умолчанию
listИдентификатор спискаdefault
resource_typeТип ресурсов: products, resources, articles, pages, customproducts
returnstr — строка ID через запятую; data — массив id (для вызова через $modx->runSnippet() или в связке с toPlaceholder)str
toPlaceholderИмя плейсхолдера. Если задано — результат в плейсхолдер, иначе вывод—
sortByСортировка: added_at_desc, added_at_ascadded_at_desc

Возвращаемое значение ​

  • Пустой список: строка -0 (для проверки [[+name:is="-0":then=...]]); при return=data — пустой массив
  • Непустой: строка ID через запятую; при return=data — массив int

Примеры ​

В плейсхолдер:

modx
[[!ms3FavoritesIds? &toPlaceholder=`favorites_ids`]]
fenom
{'!ms3FavoritesIds' | snippet : ['toPlaceholder' => 'favorites_ids']}

Проверка пустоты и вывод:

modx
[[!ms3FavoritesIds? &toPlaceholder=`favorites_ids`]]
[[!+favorites_ids:is=`-0`:then=`
  <p>[[%ms3favorites_empty]]</p>
`:else=`
  [[!ms3Favorites?
    &ids=`[[+favorites_ids]]`
    &tpl=`tplFavoritesItem`
    &emptyTpl=`tplFavoritesEmpty`
  ]]
`]]
fenom
{'!ms3FavoritesIds' | snippet : ['toPlaceholder' => 'favorites_ids']}
{set $idsStr = $_modx->getPlaceholder('favorites_ids')}
{if $idsStr == '-0'}
  <p>{$_modx->lexicon('ms3favorites_empty')}</p>
{else}
  {'!ms3Favorites' | snippet : ['ids' => $idsStr, 'tpl' => 'tplFavoritesItem']}
{/if}