1490
20.69
21.29
за сайт
- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки
Внимание, этот компонент требует PHP
8.1
или выше!
Внимание, этот компонент требует MODX 3 или выше.
Возможности
Системные требования
Зависимости
Отличия от mSearch2
mSearch — это полностью переписанный компонент для MODX 3.x:
Внимание!
Сниппет mFilter2 не входит в mSearch. Для фильтрации используйте стандартные возможности pdoTools или сторонние решения. Запланирован отдельный пакет mFilter
- Морфологический анализ — поиск по словоформам с помощью библиотеки phpMorphy (русский, английский, немецкий, украинский языки)
- Словарный индекс — быстрый поиск с настраиваемыми весами полей
- Алиасы поиска — синонимы и замены для расширения результатов
- Статистика запросов — отслеживание популярных запросов
- Автоматическая индексация — при сохранении ресурсов
- Отложенная индексация — фоновая индексация через [Scheduler](/components/scheduler/)
- Vue-интерфейс — современная админ-панель на Vue 3 + PrimeVue
- Автодополнение — подсказки при вводе запроса
Системные требования
- MODX Revolution | 3.0.0+
- PHP | 8.1+
- MySQL | 5.7+ / MariaDB 10.3+
Зависимости
- pdoTools 3.x — для работы сниппетов и шаблонизатора Fenom
- VueTools — для административного интерфейса
- Scheduler (опционально) — для отложенной индексации
Отличия от mSearch2
mSearch — это полностью переписанный компонент для MODX 3.x:
- MODX был 2.x стал 3.x
- PHP был 5.6+ стал 8.1+
- Интерфейс был ExtJS стал Vue 3 + PrimeVue
- Архитектура был Процедурный стал Service-based
- Фильтрация был mFilter2 будет отдельный пакет
- phpMorphy был Встроенный стал Composer-пакет `cijic/phpmorphy`
- Scheduler планировщик не было совсем появилась возможность запланированной переиндексации
Внимание!
Сниппет mFilter2 не входит в mSearch. Для фильтрации используйте стандартные возможности pdoTools или сторонние решения. Запланирован отдельный пакет mFilter
[1.3.1-beta]
Added
- Свойство
&classKey=` у сниппета `mSearchForm— списокclass_keyчерез запятую для ограничения поиска одним или несколькими классами ресурсов. Например,&classKey=`MiniShop3\Model\msProduct`оставит в выдаче только товары;&classKey=`MiniShop3\Model\msProduct,Tickets\Model\TicketComment`— только товары и комментарии. Фильтр применяется на SQL-уровне (AND class_key IN (...)) вmse_wordsиmse_intro, поэтому веса и LIKE-fallback считаются уже по сокращённому набору. По умолчанию параметр пустой — фильтр не добавляется, поиск идёт по всем классам. Searcher::search()принимает опциюclass_keys(строка или массив). Доступно и для прямых PHP-вызовов.
Changed
MsProductAdapter::enrich()совместим с новым контрактом miniShop3 (PR #269). После этого PR сниппетmsProductsвозвращаетprice/old_priceвсегда какfloatнезависимо отformatPrices, а форматированную строку с валютой выкладывает в отдельные поляprice_formatted/old_price_formatted. Адаптер теперь предпочитаетprice_formattedдляprice_display, если оно есть, иначе делаетnumber_formatна сырое число. Поведение остаётся совместимым со старой miniShop3 (до PR #269) — там старая логика «строка как есть» работает через fallback.
Fixed
SearchController::chunkExists()ошибочно блокировал binding-префиксы (@FILE,@INLINE,@CHUNK) в значении свойства&tpl=` сниппета `mSearchForm. Защита была заложена в более ранней архитектуре, гдеtplмог приходить напрямую из клиентского запроса. Сейчасtplхранится в кэше MODX поformIdи записывается только сниппетом со страницы — это доверенный источник, поэтому ограничение лишнее. После фикса работают конструкции вида&tpl='@FILE chunks/search/suggest.tpl'— pdoTools прочитает чанк прямо с диска. Симптом до фикса: в логах[mSearch] Refusing chunk name with binding prefix: @FILE ..., подсказки автокомплита не отображаются.




Последние обсуждения в сообществе MODX.pro