
- MODX 3
- PHP 8.2
- Vue 3


Результат: посетитель фильтрует записи без перезагрузки. Без JavaScript форма остаётся обычным GET. Нужны PageBuilder Pro и capability datasources.
[[!PageBuilder]].datasources включена.table_key или miniShop3.filterable_grid.modx-resources, pagebuilder-tables или minishop3. Для таблицы укажите ключ.pagebuilder-filterable-grid.js. Адрес обновляет history.pushState.pb_fg_{id}_search, _sort, _dir, _page, _f_{поле}. Префикс pb_fg_{id}_ пишет DatasourceSectionEnricher в filter_param_prefix.contains, number и currency → gte, color → eq. Колонка image в фильтр и сортировку не попадает. Подпись фильтра берётся из label колонки.Страница больше последней приводится к последней. Пустой результат: pagebuilder_fe_filter_empty. Кнопка сброса: pagebuilder_fe_filter_clear.
Title Каталог. Datasource pagebuilder-tables, ключ таблицы тот же, что на вкладке Таблицы. Лимит 12 (размер страницы).
После сохранения откройте страницу и введите слово в поиск. Адрес получает pb_fg_{id}_search, где {id} равен id секции. Сброс возвращает список и пишет лексикон pagebuilder_fe_filter_clear. Пустая выборка показывает pagebuilder_fe_filter_empty.
С JavaScript список обновляется без полной перезагрузки, а query остаётся в адресе. Выключите JavaScript и отправьте форму: это обычный GET с теми же параметрами. Колонка image в фильтрах не появляется.
Удалите секцию.