3490
44.18
49.86
за сайт
- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки
Внимание, этот компонент требует PHP
8.1
или выше!
Внимание, этот компонент требует MODX 3 или выше.


Возможности
- Фасетная фильтрация — фильтрация по любым полям ресурсов, TV, опциям MiniShop3
- SEO URL — человекочитаемые URL вида /catalog/brand_apple/color_black/
- Кросс-фильтрация — подсчёт доступных значений с учётом активных фильтров
- AJAX — обновление результатов без перезагрузки страницы
- Headless API — REST API для интеграции с Vue, React, Svelte
- SEO оптимизация — динамические title, description, H1, canonical
- Словоформы — склонение названий фильтров в SEO-текстах
- Интеграция — работает с MiniShop3, mSearch, pdoTools
- Vue-интерфейс — современная админ-панель на Vue 3 + PrimeVue
Системные требования
- MODX Revolution | 3.0.0+
- PHP | 8.1+
- MySQL | 5.7+ / MariaDB 10.3+
Зависимости
- pdoTools 3.x — для работы сниппетов и шаблонизатора Fenom
- VueTools — для административного интерфейса
- MiniShop3 (опционально) — для фильтрации товаров
Быстрый старт
Добро пожаловать в документацию — docs.modx.pro/components/mfilter/quick-start
1.4.6-beta1
Исправления
- Параметр
whereв сниппетеmFilterронял снипет на PHP 8.1+ при передаче массива. Клиенты, копируя пример из документации ('where' => ['Data.price:>' => 1000]через Fenom), получали пустой каталог и HTTP 500. Причина:json_decode($where, true)без проверки типа — в PHP 8.1+ этоTypeError, потому что$whereприходил из Fenom как массив. Теперьwhereпринимает и массив (нативный формат xPDO), и JSON-строку (для MODX-тегов / URL-параметров). Issue surfaced on dev.sharptool.ru.
Возможности
- Параметр
whereтеперь реально работает в native mode (без параметраelement). Раньше он парсился в сниппете, но никуда не пробрасывался — заявленная в документации фича была мёртвой. ТеперьFilter::apply()принимает опциюwhereчерез$options, применяет условия к query и count-query, и авто-джойнитmsProductData(aliasData), если хотя бы один ключ условия начинается сData.. Element mode (черезelement='msProducts') продолжает работать как раньше — тамwhereуходит в msProducts, у которогоDataуже подключён.




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