Демо Демо-магазин MiniShop3: 14 платных дополнений ibochkarev — витрина, отзывы, checkout, оплата, аналитика
ibochkarev.su
К основному содержимому

В каталог

ms3Favorites

Стенд ms3Favorites

QA-страница избранного: кнопки, списки, шаринг.

QA-стенд ms3Favorites. Товар A: 26 · карточка; товар B: 27; каталог: 2; список: default. ?ms3f_debug=0 — скрыть журнал.

0. Окружение и настройки

Плагин ms3fFrontend (событие OnLoadWebDocument) подключает favorites.css/js и inline window.ms3fLexicon / window.ms3fConfig.

Namespace ms3favoritesУстановлен
Plugin ms3fFrontendАктивен
Snippet ms3FavoritesBtnНайден
Snippet ms3FavoritesCounterНайден
Snippet ms3FavoritesPageНайден
Snippet ms3FavoritesIdsНайден
Snippet ms3FavoritesShareНайден
Chunk tplMs3fBtnНайден
Chunk tplMs3fCounterНайден
Chunk tplFavoritesItemНайден
Connector connector.phpНа месте
Assets JS/CSSfavorites(.min).js / .css
ms3favorites.max_items20
ms3favorites.storage_typelocalStorage
guest_db_enabledДа
guest_ttl_days30
share_ttl_days90
max_lists10
comments_enabledВкл.
register_global_configАвто (ms3fLexiconScript не нужен)
frontend_assets[ "favorites.min.css", "favorites.min.js" ]
Кнопка на витринеchunks/demo.product_row.tpl, templates/tpl.product.tpl
Счётчик в шапкеchunks/demo.header.tpldata-favorites-count
Connector URL/assets/components/ms3favorites/connector.php
window.ms3fConfig — нажмите «Вывести ms3fConfig» в разделе Connector

1. Кнопка добавления в избранное

Чанк chunks/demo.ms3f_button.tpl · дата-атрибуты data-favorites-toggle data-id data-list data-resource-type. Клик → localStorage/cookie + БД (гости) → toast, класс ms3f--active, обновление счётчика.

Товар A (26)

Товар B (27)

2. Счётчик избранного

Сниппет ms3FavoritesCounter (серверный старт) + элемент data-favorites-count (живое обновление из localStorage). В шапке сайта счётчик уже подключён.

Сервер (ms3FavoritesCounter) 0
Живой (data-favorites-count)

3. Несколько списков

Чанк пакета tplFavoritesListSelector — выбор списка (data-favorites-list-selector). Кнопки ниже привязаны к разным спискам; счётчик можно посмотреть на вкладке «Списки» страницы (раздел 7).

default

gifts

plans

4. Каталог msProducts + кнопки

Чанк chunks/demo.ms3f_catalog_row.tpl — кнопка избранного в каждой строке.

Умные часы Nikon Pro
ID 22 · ART-000022 · 76004.00
Куртка Canon Ultra
ID 23 · ART-000023 · 109729.00
Кроссовки Lenovo Series S
ID 24 · ART-000024 · 50875.00
Кофемашина Philips Prime
ID 25 · ART-000025 · 81690.00
Телевизор Xiaomi Plus 50"
ID 26 · ART-000026 · 68800.00
Кресло Bose Classic
ID 27 · ART-000027 · 76110.00
Смартфон Samsung Advanced 512GB
ID 28 · ART-000028 · 82124.00
Телевизор Bosch Air 24"
ID 29 · ART-000029 · 54468.00

5. Серверный вывод сниппета ms3Favorites

ms3FavoritesIds → список ID из БД → ms3Favorites (чанк tplFavoritesItem). Для гостей с пустой БД блок пуст, пока JS не синхронизирует localStorage. Список: default.

ms3FavoritesIds: -0
Список избранного пуст

6. JS-рендер списка (localStorage)

Контейнер заполняется из браузера методом window.ms3Favorites.render(selector, list). Не зависит от БД и сессии — отражает текущее состояние вкладки.

Список появится здесь после клика.

7. Страница избранного (ms3FavoritesPage)

Сниппет ms3FavoritesPage рисует табы + тулбар (Очистить, Поделиться, Добавить в корзину) и серверный список. Полный вызов вынесен на отдельный ресурс tpl.ms3favorites_page (см. MODX-SETUP.md). Здесь — только ключи и ссылка на страницу.

Список избранного

Список избранного пуст

Перейти в каталог
→ размещается на ресурсе с alias wishlist.

8. Шаринг списка (ms3FavoritesShare)

Кнопка data-favorites-share data-list="default" создаёт публичную ссылку /wishlist/share?token=xxx (срок — настройка share_ttl_days). На странице просмотра — сниппет ms3FavoritesShare.

9. Connector и события

/assets/components/ms3favorites/connector.php — AJAX-эндпоинт (POST): action=render → HTML списка. События: ms3f:added, ms3f:removed, ms3f:changed, ms3f:cleared, ms3f:shared.

Результат появится здесь…

10. События и чеклист

  • ms3f:added — товар добавлен в список
  • ms3f:removed — товар удалён
  • ms3f:changed — изменилось содержимое списка
  • ms3f:cleared — список очищен
  • ms3f:shared — создана ссылка шаринга
  • Кнопка в каталоге/на главной — demo.product_row.tpl, на карточке товара — tpl.product.tpl
  • Счётчик в шапке — demo.header.tpldata-favorites-count
  • Рядом на витрине: msFastOrder, msViewCounter, msCurrency, mxQuickView — см. другие QA-стенды в меню «Стенды»

11. Журнал браузерных проверок

ms3Favorites QA log