Skip to content
mFilter
mFilter
Фасетная фильтрация для MODX 3 с поддержкой SEO URL
  • MODX 3
  • PHP 8.1
  • Vue 3
  1. Компоненты
  2. mFilter
  3. Интеграции

Интеграции ​

Поддерживаемые компоненты ​

КомпонентОписание
MiniShop3Интернет-магазин
mSearchПолнотекстовый поиск

Принцип интеграции ​

mFilter получает список ресурсов от элемента — сниппета из параметра &element, например msProducts или pdoResources.

fenom
{'!mFilter' | snippet : ['element' => 'msProducts']}
{'!mFilter' | snippet : ['element' => 'pdoResources']}

Без &element mFilter выбирает ресурсы сам, по parents, — см. mFilter. mSearch подключается не через &element: mFilter сам ищет фразу и пересекает её с выборкой элемента, см. mSearch.

Режим с &element ​

  1. Элемент возвращает все ID области (returnIds=1).
  2. mFilter фильтрует ID и делит их на страницы.
  3. Пагинатор — сниппет из &paginator, например pdoPage, — выводит строки текущей страницы через элемент.
  4. Ссылки на страницы выводит mFilter чанком tplPagination.

Элемент вызывается дважды, с разными параметрами:

Требования к element ​

Элемент должен поддерживать параметры:

ПараметрТребование
returnIdsВернуть ID через запятую или JSON {"id": вес} вместо HTML
limit0 — без ограничения
resourcesСписок ID для вывода. mFilter передаёт его вместе с parents=0
sortbyПустой — выводить resources в переданном порядке

Порядок mFilter получает от элемента при выборке, а при выводе страницы передаёт пустой sortby и не сортирует заново. Сниппеты на pdoTools, включая msProducts, так и делают.

Элемент получает все параметры вызова mFilter, кроме element, paginator, useFilters, ajax и ajaxMode. Лексиконы для msProducts mFilter загружает сам. Для других элементов перечислите их в &lexicons: после фильтрации без перезагрузки лексиконы страницы не загружены.

Требования к paginator ​

Пагинатор должен поддерживать параметры:

ПараметрТребование
elementСниппет, которым отрисовываются строки
resourcesСписок ID
page, pageLimit, pageNavVar, setMetaКак у pdoPage: ими mFilter выключает собственную навигацию pdoPage