Skip to content
msCatalyst
msCatalyst
Фасетный фильтр, поиск и синхронизация каталога для miniShop2 и MiniShop3
  • MODX 2
  • MODX 3
  • miniShop2
  • miniShop3
  • PHP 7.2
  1. Компоненты
  2. msCatalyst
  3. Сниппеты
  4. Служебные сниппеты

Служебные сниппеты ​

msCatalystSync ​

Запускает профили синхронизации по расписанию и продолжает незаконченные запуски. Вызывайте его из cron или планировщика, например через ресурс с пустым шаблоном или Scheduler.

modx
[[!msCatalystSync? &seconds=`50`]]
ПараметрПо умолчаниюОписание
seconds50Сколько секунд может работать один вызов. Минимум 5.
profileID профиля. Запускает его сразу, без учёта расписания.

Длинный обмен идёт шагами. Размер шага задают настройки mscatalyst_sync_chunk и mscatalyst_sync_step_seconds. Держите длину шага меньше max_execution_time сервера.

msCatalystSitemap ​

Отдаёт XML-карту адресов фильтров. В неё попадают посадочные со своим адресом или с правилом «Всегда в индексе», в которых есть товары, и ЧПУ-адреса одиночных значений. Работает с &seo=native``, см. SEO.

modx
[[!msCatalystSitemap? &catalogs=`*`]]
ПараметрПо умолчаниюОписание
catalogs*ID страниц каталога через запятую. *: все каталоги, которые сайт уже открывал.
limit5000Максимум адресов, не больше 50 000.
parentsСтарый вариант вызова на самой странице каталога: ID раздела. С ним &catalogs не подставляется.
facetsvendorДля старого варианта: фасеты, для значений которых нужны адреса. Диапазоны пропускаются.
depth10Для старого варианта: глубина поиска товаров.

Поставьте вызов в отдельный ресурс с типом содержимого XML и пустым шаблоном, например sitemap-filters.xml. Каталог попадает в карту после того, как его страницу хотя бы раз откроют на сайте.

Готовый XML лежит в кэше, поэтому частые обращения роботов не пересчитывают фильтры каждой страницы каталога. msCatalyst собирает карту заново после изменения товаров или посадочных, а без изменений раз в mscatalyst_cache_lifetime секунд (не реже раза в сутки).

msCatalystLandings ​

Блок ссылок на подборки: уточнения текущего выбора, популярные значения или посадочные из админки, см. Посадочные страницы.

modx
[[!msCatalystLandings? &mode=`related` &facets=`vendor, color` &limit=`12` &title=`Популярное`]]
ПараметрПо умолчаниюОписание
moderelatedrelated уточняет текущий выбор (на странице Bosch покажет «Bosch, красный»), auto показывает популярные значения, saved выводит посадочные из админки.
facetsКакие фасеты можно использовать. Пусто: все списочные.
limit12Сколько ссылок, от 1 до 200.
titleЗаголовок блока. Пусто: «Популярные подборки» из лексикона.
tplmsCatalyst.landingЧанк ссылки.
tplOutermsCatalyst.landingsЧанк обёртки.
toPlaceholderЗаписать блок в плейсхолдер вместо вывода.
catalog0ID страницы каталога. С ним блок работает на любой странице сайта: [[!msCatalystLandings? &mode=`saved` &catalog=`5`]].

Без &catalog ставьте вызов после msCatalyst: сниппет берёт его индекс и выбранные фильтры. Ссылки ведут на свой адрес посадочной, если он задан. Ссылки без товаров не выводятся.

msCatalystReindex ​

Сбрасывает индекс каталога: разделы кэша msCatalyst и файлы индекса режима table. Нужен после импорта сторонними средствами, которые плагин msCatalyst не видит. Подходит для cron.

modx
[[!msCatalystReindex]]

Из PHP то же самое делает MsCatalyst::clearIndex($modx);. Если индекс нужно только обновить, без паузы для посетителей, выполните MsCatalyst::markStale($modx);: прежний индекс работает, пока в фоне собирается новый. Синхронизация msCatalyst обновляет индекс сама.

msCatalystSeoFilter ​

Мост к SeoFilter на MODX 2. Вызовите после msCatalyst в шаблоне каталога. Сниппет выставляет плейсхолдеры msc.seo.active (сколько фильтров выбрано) и msc.seo.query (строка запроса текущего состояния).

modx
[[!msCatalystSeoFilter]]

Для AJAX-обновлений удобнее событие mscatalyst:seo, см. SEO.

msCatalystDemoAdmin ​

Публичная страница компонента без входа в менеджер, для демо-сайта. Включите настройку mscatalyst_demo_admin и вызовите сниппет на отдельном ресурсе:

modx
[[!msCatalystDemoAdmin? &docsUrl=`https://docs.modx.pro/components/mscatalyst/`]]

Посетитель видит все вкладки. Правки настроек, синонимов и наборов фильтров живут в его сессии и сайт не меняют. Синхронизация доступна только пробным прогоном, запись и откат закрыты. Экспорт отдаёт не больше 200 строк. Демо-коннектор отвечает только на действия из белого списка, ограничивает число запросов с одного IP и отдаёт noindex.

Осторожно

Пока настройка выключена, сниппет ничего не выводит, а коннектор отвечает 404. Включайте её только на демо-сайте.