ms3Favorites — избранное для MODX Revolution 3 и MiniShop3



Пользователи сохраняют товары и ресурсы в избранное, возвращаются к покупке позже, делятся списком по ссылке и оформляют заказ со страницы /wishlist/. Список хранится в браузере (localStorage или cookie), при необходимости синхронизируется с БД для авторизованных и гостей — по системным настройкам. Это помогает удерживать вовлечённость, повторные визиты и конверсию без навязанной вёрстки витрины.

Это дополнение для тех, кому нужно:
  • несколько именованных списков (подарки, планы покупок и свои названия) с лимитом через настройки пространства имён ms3favorites;
  • шаринг по уникальной ссылке /wishlist/share?token=… и копирование чужого списка к себе;
  • страница избранного на ms3FavoritesPage: табы, панель действий, для товаров по умолчанию — SSR в чанке (pdoPage + msProducts); для кастомных сценариев — цепочка ms3FavoritesIdspdoPagems3Favorites (или снова msProducts);
  • добавление в корзину MiniShop3: весь список или только отмеченные позиции;
  • заметки к позициям в карточках (включается настройкой), с сохранением через коннектор;
  • единый сценарий для разных типов контента через resource_type (товары MS3, ресурсы, статьи, страницы и др.).
✨ Ключевые возможности
  • кнопка избранного с data-favorites-toggle, счётчик data-favorites-count, выбор активного списка (tplFavoritesListSelector / сниппет ms3FavoritesLists);
  • уведомления по цепочке: свой ms3fConfig.notifyms3Message (MiniShop3) → iziToast (при необходимости подгружается из пакета);
  • режим списка data-favorites-mode=«list» и обёртка карточки .ms3f-parent — скрытие всей карточки при удалении из избранного;
  • сниппеты: ms3FavoritesBtn, ms3FavoritesCounter, ms3Favorites, ms3FavoritesIds, ms3FavoritesPage, ms3FavoritesShare, ms3FavoritesPopularity, ms3fLexiconScript;
  • AJAX-коннектор: sync, шаринг и копирование, комментарии, корзина, очистка, популярность; HTML-вывод списка для ms3Favorites.render();
  • плейсхолдер ms3f.total для серверного счётчика; на странице списка доступна настройка порядка через параметры ms3FavoritesPage;
  • интеграция с mxQuickView и mFilter (актуализация кнопок после подгрузки контента);
  • лексикон RU/EN, BEM-префикс ms3f, CSS-переменные, адаптивная вёрстка блока списка.
🛒 MiniShop3
  • вывод избранного через msProducts и pdoTools — по документации и готовому чанку tplCatalogRowMs3f для строки каталога;
  • действие add_to_cart в коннекторе; на /wishlist/ — чекбоксы и кнопки массового добавления в корзину;
  • гибкая кастомизация чанков и стилей под уже существующую витрину.
🔒 Надёжность на фронте
  • изменяющие запросы к коннектору — с заголовком X-Requested-With: XMLHttpRequest;
  • настраиваемые лимиты элементов и списков, TTL записей гостей и срок жизни ссылок шаринга (см. настройки ms3favorites.*).
🚀 Быстрый старт
  1. Установите пакет через Extras → Installer (репозиторий ModStore; заранее установлены MiniShop3 и pdoTools).
  2. Подключите [[!ms3fLexiconScript]], затем CSS и favorites.js из assets/components/ms3favorites/.
  3. Разметьте кнопки: data-favorites-toggle, data-id, при необходимости data-list и data-resource-type.
  4. Страницу списка выведите сниппетом [[!ms3FavoritesPage]]; пагинацию, каталог и нестандартные страницы — по интеграции на docs.modx.pro.
  5. Настройки → Очистить кэш.
📋 Требования
  • MODX Revolution 3.0+
  • PHP >=8.2
  • MiniShop3 (актуальная установка для вашего проекта)
  • pdoTools 3.x (рекомендуется для вывода списков и Fenom)
Документация ms3Favorites

Дополнение в магазине Modstore

Демо сайт будет готов в течении нескольких дней.
Иван Бочкарев
Вчера в 10:07
modx.pro
60
+4
Поблагодарить автора Отправить деньги

Комментарии: 0

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0