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

Переход с SeoFilter ​

msCatalyst не нуждается в SeoFilter. На сайте без SeoFilter ставить его не нужно: посадочные, тексты, склонения, ЧПУ и карту сайта даёт сам msCatalyst, см. Посадочные страницы. SeoFilter для MODX 3 не выпущен (на modstore.pro он помечен как несовместимый с MODX 3), так что на MODX 3 посадочные с текстами есть только у msCatalyst.

Перенос ​

Если SeoFilter на сайте уже настроен, перенесите его к msCatalyst. Блок «Перенос из SeoFilter» на вкладке «Посадочные» появится сам, когда msCatalyst найдёт таблицы SeoFilter. msCatalyst читает эти таблицы напрямую, поэтому перенос работает и на MODX 3, и после удаления SeoFilter.

  1. Откройте на сайте каждую страницу каталога, на которой работает SeoFilter, чтобы msCatalyst узнал её фасеты.
  2. Нажмите «Проверить перенос». Отчёт покажет, сколько посадочных, шаблонов, словоформ и старых адресов msCatalyst перенесёт, и что перенести не получится: поля без фасета, страницы, которые msCatalyst ещё не видел, тексты с логикой Fenom.
  3. Добавьте недостающие фасеты в вызов msCatalyst и повторите проверку.
  4. Нажмите «Перенести». Повторный перенос обновит записи, а не создаст копии.
  5. Нажмите «Включить адреса msCatalyst». msCatalyst выключит плагин SeoFilter, не удаляя его, и включит свои адреса (mscatalyst_seo_mode = native). Кнопка «Вернуть SeoFilter» откатывает это действие. Если плагина SeoFilter уже нет, а режим native включён, кнопки не будет.
  6. Нажмите «Вызовы сниппетов». msCatalyst найдёт вызовы sfLink, sfMenu, sfSitemap, sfWord, sfNearLink и sfNeighbors в шаблонах, чанках и ресурсах и покажет замену. sfLink и sfSitemap заменяются точно, sfMenu примерно (плоским списком). После подтверждения msCatalyst перепишет вызовы и сохранит исходный текст, «Вернуть как было» восстановит его. Вызовы в Fenom-синтаксисе и статических элементах правьте вручную, отчёт их перечислит.
  7. Проверьте страницы и удалите SeoFilter. Его таблицы при удалении остаются в базе, поэтому перенос можно повторить и после удаления.

Что переносится ​

  • правила SeoFilter становятся шаблонами текстов для того же набора фасетов, адреса из seofilter_urls становятся посадочными со своим адресом и правилом «Всегда в индексе»;
  • {$color}, {$color_r}, {$m_color_r} и [[+color]] становятся {color}, {color:gen}, {color:plural_gen};
  • словарь SeoFilter становится формами на вкладке «Склонения», формы, которые вы уже вписали в msCatalyst, остаются;
  • старые адреса (old_url) и адреса в другом регистре или без косой черты в конце отвечают 301 на новый адрес. msCatalyst хранит их в таблице mscatalyst_seo_redirects;
  • поля h2, keywords и content переносить некуда, отчёт покажет их число.

Плейсхолдеры sf.* ​

После переноса включается настройка mscatalyst_seofilter_placeholders. На страницах с фильтром msCatalyst заполняет [[+sf.title]], [[+sf.h1]], [[+sf.description]], [[+sf.introtext]], [[+sf.text]], [[+sf.content]], [[+sf.link]], [[+sf.total]] и [[+sf.url]]. Шаблоны, свёрстанные под SeoFilter, работают без правок. Когда перенесёте шаблоны на [[+mscatalyst.*]], настройку можно выключить.

Мост с SeoFilter (MODX 2) ​

Если SeoFilter пока остаётся на сайте, msCatalyst может работать рядом с ним. Задайте |alias= как в mFilter2 и &seo=seofilter`` или both. В AJAX-ответе есть блок seo: title, h1, description, canonical, aliases. Событие mscatalyst:seo на document нужно для моста с SeoFilter или своей подмены мета-тегов:

js
document.addEventListener('mscatalyst:seo', function (e) {
    console.log(e.detail.seo.title, e.detail.seo.canonical);
});

Плейсхолдеры для шаблона выставляет сниппет msCatalystSeoFilter. Мост работает только на MODX 2, где установлен SeoFilter.