
ms3Favorites
Списки избранного для MiniShop3 и других ресурсов — хранение в браузере, синхронизация в БД


Все настройки имеют префикс ms3favorites. и находятся в пространстве имён ms3favorites.
Где изменить: Настройки → Системные настройки — фильтр по пространству имён ms3favorites.
| Настройка | Описание | По умолчанию | Рекомендации |
|---|---|---|---|
ms3favorites.max_items | Максимум товаров в блоке «Избранное» (localStorage/cookie и вывод) | 20 | Обычно 20–50, максимум 100. Учитывается в JS, если задан ms3fConfig (плагин или ms3fLexiconScript). |
ms3favorites.storage_type | Тип хранилища списка избранного | localStorage | localStorage — данные в браузере до очистки. cookie — общий домен для поддоменов, срок 30 дней. Учитывается в JS через ms3fConfig. |
ms3favorites.guest_db_enabled | Сохранять список гостя в БД | true | Включить для серверного счётчика, корректных счётчиков табов на /wishlist/ и синхронизации гостя. Идентификация по session_id. |
ms3favorites.guest_ttl_days | Срок хранения записей гостей (дней) | 30 | 0 — не удалять. Учитывается при автоочистке (cron). |
ms3favorites.share_ttl_days | Срок действия ссылки шаринга (дней) | 90 | 0 — без срока. |
ms3favorites.max_lists | Максимум списков на пользователя | 10 | Лимит именованных списков (default, gifts, plans и др.). Максимум — 20. |
ms3favorites.comments_enabled | Включить заметки к элементам | true | Показывать textarea для заметок в карточках. При отключении update_comment отклоняется. |
ms3favorites.check_resource_availability | Проверять доступность ресурса перед добавлением | false | При включении добавляются только опубликованные и неудалённые ресурсы (sync, copy_share). |
ms3favorites.list_page | URL страницы списка (для ms3FavoritesLists) | wishlist/ | Относительный путь для формирования ссылок в списках. |
Настройки подключения CSS/JS и inline-конфига на фронте (плагин ms3fFrontend, событие OnLoadWebDocument):
| Настройка | Описание | По умолчанию | Рекомендации |
|---|---|---|---|
ms3favorites.frontend_assets | JSON-массив путей с плейсхолдерами [[+cssUrl]], [[+jsUrl]], [[+assetsUrl]] | favorites.min.css, favorites.min.js | CSS — в <head>, JS — в конце страницы с defer, к URL добавляется ?v=filemtime. Пустой массив [] — ничего не подключать. |
ms3favorites.register_global_config | Вывод inline window.ms3fLexicon и window.ms3fConfig перед favorites.js | true | Аналог ms3_register_global_config в MiniShop3. При Нет подключайте [[!ms3fLexiconScript]] в шаблоне. |
Значение frontend_assets по умолчанию:
[
"[[+cssUrl]]favorites.min.css",
"[[+jsUrl]]favorites.min.js"
]Примеры кастомизации — неминифицированные файлы или отключение автоподключения:
[
"[[+cssUrl]]favorites.css",
"[[+jsUrl]]favorites.js"
][]В транспортном пакете ключи разделены на области default и frontend. Логически настройки можно сгруппировать так:
| Группа | Ключи |
|---|---|
| Лимиты и хранение | max_items, storage_type, max_lists |
| Гости и БД | guest_db_enabled, guest_ttl_days |
| Шаринг | share_ttl_days |
| Поведение | comments_enabled, check_resource_availability, list_page |
| Фронтенд | frontend_assets, register_global_config |
ms3fConfig (плагин или ms3fLexiconScript).cookie — если нужен общий список для поддоменов (срок cookie 30 дней)./wishlist/ у гостей (и синхронизации в БД).cli/cleanup_guests.php.0 — ссылка без срока действия, иначе срок задаётся в днях.0 3 * * * php /path/to/site/core/components/ms3favorites/cli/cleanup_guests.phpПри guest_ttl_days = 0 очистка не выполняется.