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

Пользователи сохраняют товары и ресурсы в избранное, возвращаются к покупке позже, делятся списком по ссылке и оформляют заказ со страницы /wishlist/. Список хранится в браузере (localStorage или cookie), при необходимости синхронизируется с БД для авторизованных и гостей — по системным настройкам. Это помогает удерживать вовлечённость, повторные визиты и конверсию без навязанной вёрстки витрины.
Это дополнение для тех, кому нужно:
- несколько именованных списков (подарки, планы покупок и свои названия) с лимитом через настройки пространства имён ms3favorites;
- шаринг по уникальной ссылке /wishlist/share?token=… и копирование чужого списка к себе;
- страница избранного на ms3FavoritesPage: табы, панель действий, для товаров по умолчанию — SSR в чанке (pdoPage + msProducts); для кастомных сценариев — цепочка ms3FavoritesIds → pdoPage → ms3Favorites (или снова msProducts);
- добавление в корзину MiniShop3: весь список или только отмеченные позиции;
- заметки к позициям в карточках (включается настройкой), с сохранением через коннектор;
- единый сценарий для разных типов контента через resource_type (товары MS3, ресурсы, статьи, страницы и др.).
- кнопка избранного с data-favorites-toggle, счётчик data-favorites-count, выбор активного списка (tplFavoritesListSelector / сниппет ms3FavoritesLists);
- уведомления по цепочке: свой ms3fConfig.notify → ms3Message (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-переменные, адаптивная вёрстка блока списка.
- вывод избранного через msProducts и pdoTools — по документации и готовому чанку tplCatalogRowMs3f для строки каталога;
- действие add_to_cart в коннекторе; на /wishlist/ — чекбоксы и кнопки массового добавления в корзину;
- гибкая кастомизация чанков и стилей под уже существующую витрину.
- изменяющие запросы к коннектору — с заголовком X-Requested-With: XMLHttpRequest;
- настраиваемые лимиты элементов и списков, TTL записей гостей и срок жизни ссылок шаринга (см. настройки ms3favorites.*).
- Установите пакет через Extras → Installer (репозиторий ModStore; заранее установлены MiniShop3 и pdoTools).
- Подключите [[!ms3fLexiconScript]], затем CSS и favorites.js из assets/components/ms3favorites/.
- Разметьте кнопки: data-favorites-toggle, data-id, при необходимости data-list и data-resource-type.
- Страницу списка выведите сниппетом [[!ms3FavoritesPage]]; пагинацию, каталог и нестандартные страницы — по интеграции на docs.modx.pro.
- Настройки → Очистить кэш.
- MODX Revolution 3.0+
- PHP >=8.2
- MiniShop3 (актуальная установка для вашего проекта)
- pdoTools 3.x (рекомендуется для вывода списков и Fenom)
Дополнение в магазине Modstore
Демо сайт будет готов в течении нескольких дней.
Поблагодарить автора
Отправить деньги
0