
ms3Favorites
ms3Favorites — компонент реализует функционал создания списков избранного для товаров MiniShop3 и других типов ресурсов (resources, articles, pages, custom). Пользователи сохраняют товары в список для последующих покупок. Список хранится в браузере (localStorage или cookie), с синхронизацией в БД для авторизованных и гостей (при guest_db_enabled).
Возможности
- Блок «Избранное» — вывод по списку ID (AJAX через коннектор или серверный вызов сниппета)
- Хранение в браузере —
localStorage(по умолчанию) илиcookie, без регистрации - Синхронизация в БД — для авторизованных: при входе данные из localStorage переносятся в БД
- Гости в БД — при
guest_db_enabledсписок гостя сохраняется по session_id - Несколько списков —
default,gifts,plansи др. (доmax_lists) - Шаринг списка — публичная ссылка
/wishlist/share?token=xxx, копирование чужого списка - Страница /wishlist/ — сниппет
ms3FavoritesPage: табы и оболочка. Для товаров (resource_type=products) приserverList=1(по умолчанию) список выводится на сервере через pdoPage + msProducts. ПриserverList=0карточки дорисовывает favorites.js (до 100 позиций на вкладку). Для других типов ресурсов список подгружается через JS после sync. Отдельная пагинация: ms3FavoritesIds → pdoPage → ms3Favorites (или msProducts) - Интеграция с корзиной — «Добавить все в корзину», «Добавить выбранные»
- Популярность — «У N пользователей в избранном»
- Типы ресурсов —
products,resources,articles,pages,custom - Локализация — MODX Lexicon (ru, en). На фронте — inline через плагин ms3fFrontend или сниппет
ms3fLexiconScript - Кастомизация — Fenom-чанки, BEM-классы (префикс
ms3f), CSS-переменные - Каталог — чанк
tplCatalogRowMs3fдля строки с кнопкой избранного при pdoPage + msProducts (интеграция) - Автоподключение CSS/JS — плагин
ms3fFrontend(OnLoadWebDocument): список файлов вms3favorites.frontend_assets, inlinems3fLexicon/ms3fConfigчерезregister_global_config(какms3_frontend_assetsв MiniShop3) - AJAX-каталог — публичный API
window.ms3Favorites.refresh()после подмены HTML. Есть автоподписка наmfilter:contentLoaded, опцияms3fConfig.refreshEventsи запасной MutationObserver - Уведомления — цепочка: опционально
ms3fConfig.notify→window.ms3Message.show(MiniShop3) → iziToast (ленивая загрузка изassets/components/ms3favorites/vendor/izitoast/, базовый URL вms3fConfig.iziToastBaseUrlизms3fLexiconScript).
Системные требования
| Требование | Версия |
|---|---|
| MODX Revolution | 3.0+ |
| PHP | 8.1+ |
| MySQL | 5.7+ / MariaDB 10.3+ |
Зависимости
Установка
Подробная инструкция с требованиями и шагами через ModStore — в Быстром старте.
Через ModStore
- Подключите репозиторий ModStore
- Перейдите в Extras → Installer и нажмите Download Extras
- Убедитесь, что установлены MiniShop3 и pdoTools
- Найдите ms3Favorites в списке и нажмите Download, затем Install
- Настройки → Очистить кэш
Пакет доступен в каталоге modstore.pro.
После установки
По умолчанию CSS/JS и inline-конфиг подключаются плагином ms3fFrontend — достаточно разместить кнопку в карточке товара и вывести блок избранного. Ручное подключение в шаблоне нужно только при отключённом плагине или register_global_config = Нет.
Подробнее: Быстрый старт и Подключение на сайте.
Термины
| Термин | Описание |
|---|---|
| Wishlist | Список избранных товаров (по умолчанию — default) |
| Синхронизация | Перенос списка из localStorage в БД при входе пользователя |
| Шаринг | Публичная ссылка на список по токену |
| Популярность | Количество пользователей, добавивших ресурс в избранное |
