Skip to content
PageBuilder
PageBuilder
Визуальный конструктор секций для MODX 3: черновик и публикация без перезаписи content ресурса
  • MODX 3
  • PHP 8.2
  • Vue 3
  1. Компоненты
  2. PageBuilder
  3. Вывод на сайте
  4. Сниппеты
  5. PageBuilderTableRows

Сниппет PageBuilderTableRows ​

Возвращает строки табличных данных ресурса (вкладка Таблицы в менеджере). Формат: JSON или Fenom-chunk.

Назначение ​

Нужен, когда таблицу выводят своей разметкой: в шаблоне, виджете или отдельном chunk. Секция Pro data_table использует встроенный chunk pagebuilder_data_table.

Где вызывать ​

Шаблон, chunk, другая секция через snippet-поле. Таблица создана на том же или указанном resource_id.

Параметры ​

ПараметрПо умолчаниюОписание
resource_id0ID ресурса. 0 = текущий
table_keyпустоКлюч таблицы на ресурсе
table_id0ID таблицы в БД вместо table_key
limit20Максимум строк (1–100)
returnjsonjson или chunk
tplpagebuilder_table_rowsChunk при return=chunk

Фильтрация и пагинация ​

Все ключи работают в сниппете. Менеджерский процессор mgr/datatable/rows/list принимает только page, limit, search и filters: контекстные и UTM-фильтры в него не передаются.

ПараметрПо умолчаниюОписание
page1Номер страницы
filtersпустоJSON фильтров по колонкам
context_columnпустоКолонка для фильтра по контексту
use_context1Подставить context_key текущего ресурса в context_column
context_keyпустоЯвный контекст вместо текущего
use_utm0Добавить фильтры из UTM-сессии
utm / utm_filtersпустоJSON UTM-фильтров для колонок

Пример filters:

json
{"price": {"op": "gte", "value": "100"}}

Операторы: eq, contains, in, gt, lt, gte, lte, between, empty, not_empty. Подробнее: Системные настройки → Табличные данные.

Запрос строк меняет событие pbOnBeforeTableGetList: ему передают table, query и criteria, причём criteria передаётся ссылкой. Событие вызывается на каждый запрос строк, и из сниппета, и из менеджерского процессора.

JSON ​

Ответ: JSON-массив объектов строк (поле data каждой записи). Таблица не найдена → [].

modx
[[!PageBuilderTableRows?
  &table_key=`offices`
  &limit=`50`
]]
fenom
{'!PageBuilderTableRows' | snippet : [
  'table_key' => 'offices',
  'limit' => 50
]}

Chunk ​

В chunk доступны Fenom-переменные rows (массив data строк) и table (метаданные таблицы). В пакете есть chunk pagebuilder_table_rows.

modx
[[!PageBuilderTableRows?
  &table_key=`offices`
  &return=`chunk`
  &tpl=`my_table_rows`
]]
fenom
{'!PageBuilderTableRows' | snippet : [
  'table_key' => 'offices',
  'return' => 'chunk',
  'tpl' => 'my_table_rows'
]}

См. также ​