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

Сниппет ms3FavoritesBtn ​

Выводит кнопку добавления и удаления из избранного. Показывает состояние «в избранном» / «не в избранном» и подсказку из лексикона.

Параметры ​

ПараметрОписаниеПо умолчанию
idID ресурса/товара (обязательный)—
listИдентификатор спискаdefault
resource_typeТип ресурсов: products, resources, articles, pages, customproducts
tplЧанк кнопки. Поддерживает @FILE path.tpl (pdoTools, путь от pdotools_elements_path)tplMs3fBtn
remove1: перезагрузка при удалении. Или префикс id элемента (product-item) для удаления #product-item-{id}—
labelМетка для аналитики (передаётся в чанк)—
classesДополнительные CSS-классы—

Плейсхолдеры в чанке ​

ПлейсхолдерОписание
[[+ms3f_id]]ID ресурса
[[+ms3f_list]]Имя списка
[[+ms3f_resource_type]]Тип ресурсов
[[+ms3f_in_favorites]]1: в избранном, 0: нет
[[+ms3f_tooltip]]Текст подсказки
[[+ms3f_label]]Метка для аналитики
[[+ms3f_classes]]Дополнительные классы
[[+ms3f_remove_attr]]data-ms3f-remove-reload="1" или data-remove-prefix. Скрипт читает атрибут при клике

На /wishlist/ карточка снимается и без remove. Значение 1 после снятия перезагружает страницу. Другое значение удаляет элемент #префикс-{id}.

Примеры ​

В карточке товара (MODX):

modx
[[!ms3FavoritesBtn? &id=`[[+id]]`]]
fenom
{'!ms3FavoritesBtn' | snippet : ['id' => $id]}

На странице товара:

modx
[[!ms3FavoritesBtn? &id=`[[*id]]`]]
fenom
{'!ms3FavoritesBtn' | snippet : ['id' => $_modx->resource.id]}

С перезагрузкой при удалении:

modx
[[!ms3FavoritesBtn? &id=`[[*id]]` &remove=`1`]]
fenom
{'!ms3FavoritesBtn' | snippet : ['id' => $_modx->resource.id, 'remove' => '1']}

С удалением блока по префиксу ID:

modx
<div id="product-item-[[+id]]">
  ...
  [[!ms3FavoritesBtn? &id=`[[+id]]` &remove=`product-item`]]
</div>
fenom
<div id="product-item-{$id}">
  ...
  {'!ms3FavoritesBtn' | snippet : ['id' => $id, 'remove' => 'product-item']}
</div>

Чанк с подсказкой tplMs3fBtnWishlistBox. Параметр tpl сниппет читает, разметку чанка скрипт не разбирает:

modx
[[!ms3FavoritesBtn? &id=`[[*id]]` &tpl=`tplMs3fBtnWishlistBox`]]
fenom
{'!ms3FavoritesBtn' | snippet : [
  'id' => $_modx->resource.id,
  'tpl' => 'tplMs3fBtnWishlistBox'
]}