Skip to content
  1. Компоненты
  2. PageBuilder
  3. Каталог секций
  4. Pro
  5. Динамический список

Динамический список

Секция dynamic_list показывает записи провайдера на момент рендера. Chunk: pagebuilderpro_dynamic_list. Нужны PageBuilder Pro и capability datasources.

Провайдеры: modx-resources, pagebuilder-tables, minishop3. В поле datasource выбирают провайдера, при необходимости ключ таблицы, фильтры, sort и limit. Enrich вызывает DatasourceQueryService и передаёт в чанк items и total.

Превью в менеджере: mgr/datasource/query.

Секция входит в контекст страницы, чтобы HTML-кеш не замораживал живой список. Без Pro опубликованный HTML заново не строится: у типа requires: ["pro"].

Запрос

Запрос принимает только объявленные поля и операторы eq, contains, in, gte, lte, between, empty, not_empty. Ключи sql, php, snippet и class отклоняет QueryPolicy. Лимит больше 100 не проходит.

Поля

ПолеТипОбязательноНазначение
titletextнетЗаголовок секции
datasourcedatasourceдаПровайдер, фильтры, sort, limit
limitnumberнетЛимит строк

Рендер

ProSectionRenderSupport наполняет items. Подпись строки берётся по цепочке pagetitle, title, name, label, id. Ссылка есть только при uri. Иначе <span>.

Ошибка запроса пишется в query_error. Без capability datasources текст Datasources are not available. Пустой провайдер: Datasource is not configured. Пустой результат: лексикон pagebuilder_fe_list_empty, запасная строка No items.

Данные секции

json
{
  "title": "Новости",
  "datasource": {
    "provider": "modx-resources",
    "table": "",
    "filters": [{ "field": "parent", "op": "eq", "value": "5" }],
    "sort": [{ "field": "publishedon", "direction": "desc" }],
    "search": "",
    "limit": 20
  },
  "limit": 8
}

Похожие секции

Связанные страницы