Skip to content
ms3Favorites
ms3Favorites
Списки избранного для MiniShop3 и других ресурсов. Хранение в браузере, синхронизация в БД
  • MODX 3
  • PHP 8.1
  • miniShop3
  1. Компоненты
  2. ms3Favorites
  3. Системные настройки

Системные настройки ​

Префикс всех ключей: ms3favorites.. Пространство имён: ms3favorites.

Где изменить: Настройки → Системные настройки, фильтр по пространству имён ms3favorites.

Таблица настроек ​

НастройкаОписаниеПо умолчаниюРекомендации
ms3favorites.max_itemsМаксимум позиций в списке (localStorage/cookie и серверный вывод)20Потолок 100. Читают JS, коннектор без limit, а также ms3Favorites и ms3FavoritesPage, если в вызове пустые limit и pageLimit. Явный параметр вызова важнее настройки.
ms3favorites.storage_typeТип хранилища списка избранногоlocalStoragelocalStorage хранит данные в браузере до очистки. cookie ставится на текущий хост: path=/, SameSite=Lax, 30 дней. В обоих режимах JS пишет cookie ms3_favorites, если JSON короче 4000 байт, чтобы серверные сниппеты видели гостевые ID. Заметки в эту cookie не попадают.
ms3favorites.guest_db_enabledСохранять список гостя в БДtrueВключить для серверного счётчика, корректных счётчиков табов на /wishlist/ и синхронизации гостя. Идентификация по session_id.
ms3favorites.guest_ttl_daysСрок хранения записей гостей (дней)300: не удалять. Учитывается при автоочистке (cron).
ms3favorites.share_ttl_daysСрок действия ссылки шаринга (дней)900: без срока. Ссылка показывает текущий список. Снимка на момент создания нет.
ms3favorites.share_guests_enabledШаринг списка для гостейfalseВместе с guest_db_enabled гость с session_id может вызвать create_share. Выключено: ссылку создаёт только авторизованный пользователь.
ms3favorites.max_listsМаксимум списков на пользователя10Именованные списки (default, gifts, plans и др.). Число выше 20 режется до 20 и в favorites.js, и при sync.
ms3favorites.comments_enabledВключить заметки к элементамtrueПоказывать textarea для заметок в карточках. Если выключено, update_comment отклоняется.
ms3favorites.check_resource_availabilityПроверять доступность ресурса перед добавлениемfalseПри включении добавляются только опубликованные и неудалённые ресурсы (sync, copy_share).
ms3favorites.list_pageURL страницы списка (для ms3FavoritesLists)wishlist/Относительный путь для ссылок в списках. Кнопка «Поделиться» настройку не использует: ссылка всегда /wishlist/share?token=….

Область frontend ​

CSS/JS и inline-конфиг на фронте (плагин ms3fFrontend, событие OnLoadWebDocument):

НастройкаОписаниеПо умолчаниюРекомендации
ms3favorites.frontend_assetsJSON-массив путей с плейсхолдерами [[+cssUrl]], [[+jsUrl]], [[+assetsUrl]]favorites.min.css, favorites.min.jsCSS в <head>, JS в конце страницы с defer. К URL добавляется ?v= с датой изменения файла в формате dmYHi. Пустой массив []: ничего не подключать.
ms3favorites.register_global_configВывод inline window.ms3fLexicon и window.ms3fConfig перед favorites.jstrueАналог ms3_register_global_config в MiniShop3. При Нет подключайте [[!ms3fLexiconScript]] в шаблоне.

Значение frontend_assets по умолчанию:

json
[
    "[[+cssUrl]]favorites.min.css",
    "[[+jsUrl]]favorites.min.js"
]

Свои файлы (неминифицированные) или отключение автоподключения:

json
[
    "[[+cssUrl]]favorites.css",
    "[[+jsUrl]]favorites.js"
]
json
[]

Область в менеджере MODX ​

В транспортном пакете ключи разделены на области default и frontend. Группы по смыслу:

ГруппаКлючи
Лимиты и хранениеmax_items, storage_type, max_lists
Гости и БДguest_db_enabled, guest_ttl_days
Шарингshare_ttl_days, share_guests_enabled
Поведениеcomments_enabled, check_resource_availability, list_page
Фронтендfrontend_assets, register_global_config

Очистка гостевых записей (cron) ​

bash
0 3 * * * php /path/to/site/core/components/ms3favorites/cli/cleanup_guests.php

При guest_ttl_days = 0 очистка не выполняется.