
- MODX 2
- MODX 3
- miniShop2
- miniShop3
- PHP 7.2


Запускает профили синхронизации по расписанию и продолжает незаконченные запуски. Вызывайте его из cron или планировщика, например через ресурс с пустым шаблоном или Scheduler.
[[!msCatalystSync? &seconds=`50`]]| Параметр | По умолчанию | Описание |
|---|---|---|
seconds | 50 | Сколько секунд может работать один вызов. Минимум 5. |
profile | ID профиля. Запускает его сразу, без учёта расписания. |
Длинный обмен идёт шагами. Размер шага задают настройки mscatalyst_sync_chunk и mscatalyst_sync_step_seconds. Держите длину шага меньше max_execution_time сервера.
Отдаёт XML-карту адресов фильтров. В неё попадают посадочные со своим адресом или с правилом «Всегда в индексе», в которых есть товары, и ЧПУ-адреса одиночных значений. Работает с &seo=native``, см. SEO.
[[!msCatalystSitemap? &catalogs=`*`]]| Параметр | По умолчанию | Описание |
|---|---|---|
catalogs | * | ID страниц каталога через запятую. *: все каталоги, которые сайт уже открывал. |
limit | 5000 | Максимум адресов, не больше 50 000. |
parents | Старый вариант вызова на самой странице каталога: ID раздела. С ним &catalogs не подставляется. | |
facets | vendor | Для старого варианта: фасеты, для значений которых нужны адреса. Диапазоны пропускаются. |
depth | 10 | Для старого варианта: глубина поиска товаров. |
Поставьте вызов в отдельный ресурс с типом содержимого XML и пустым шаблоном, например sitemap-filters.xml. Каталог попадает в карту после того, как его страницу хотя бы раз откроют на сайте.
Готовый XML лежит в кэше, поэтому частые обращения роботов не пересчитывают фильтры каждой страницы каталога. msCatalyst собирает карту заново после изменения товаров или посадочных, а без изменений раз в mscatalyst_cache_lifetime секунд (не реже раза в сутки).
Блок ссылок на подборки: уточнения текущего выбора, популярные значения или посадочные из админки, см. Посадочные страницы.
[[!msCatalystLandings? &mode=`related` &facets=`vendor, color` &limit=`12` &title=`Популярное`]]| Параметр | По умолчанию | Описание |
|---|---|---|
mode | related | related уточняет текущий выбор (на странице Bosch покажет «Bosch, красный»), auto показывает популярные значения, saved выводит посадочные из админки. |
facets | Какие фасеты можно использовать. Пусто: все списочные. | |
limit | 12 | Сколько ссылок, от 1 до 200. |
title | Заголовок блока. Пусто: «Популярные подборки» из лексикона. | |
tpl | msCatalyst.landing | Чанк ссылки. |
tplOuter | msCatalyst.landings | Чанк обёртки. |
toPlaceholder | Записать блок в плейсхолдер вместо вывода. | |
catalog | 0 | ID страницы каталога. С ним блок работает на любой странице сайта: [[!msCatalystLandings? &mode=`saved` &catalog=`5`]]. |
Без &catalog ставьте вызов после msCatalyst: сниппет берёт его индекс и выбранные фильтры. Ссылки ведут на свой адрес посадочной, если он задан. Ссылки без товаров не выводятся.
Сбрасывает индекс каталога: разделы кэша msCatalyst и файлы индекса режима table. Нужен после импорта сторонними средствами, которые плагин msCatalyst не видит. Подходит для cron.
[[!msCatalystReindex]]Из PHP то же самое делает MsCatalyst::clearIndex($modx);. Если индекс нужно только обновить, без паузы для посетителей, выполните MsCatalyst::markStale($modx);: прежний индекс работает, пока в фоне собирается новый. Синхронизация msCatalyst обновляет индекс сама.
Мост к SeoFilter на MODX 2. Вызовите после msCatalyst в шаблоне каталога. Сниппет выставляет плейсхолдеры msc.seo.active (сколько фильтров выбрано) и msc.seo.query (строка запроса текущего состояния).
[[!msCatalystSeoFilter]]Для AJAX-обновлений удобнее событие mscatalyst:seo, см. SEO.
Публичная страница компонента без входа в менеджер, для демо-сайта. Включите настройку mscatalyst_demo_admin и вызовите сниппет на отдельном ресурсе:
[[!msCatalystDemoAdmin? &docsUrl=`https://docs.modx.pro/components/mscatalyst/`]]Посетитель видит все вкладки. Правки настроек, синонимов и наборов фильтров живут в его сессии и сайт не меняют. Синхронизация доступна только пробным прогоном, запись и откат закрыты. Экспорт отдаёт не больше 200 строк. Демо-коннектор отвечает только на действия из белого списка, ограничивает число запросов с одного IP и отдаёт noindex.
Осторожно
Пока настройка выключена, сниппет ничего не выводит, а коннектор отвечает 404. Включайте её только на демо-сайте.