Таблица данных
Данные хранятся в панели управления или на вкладке Таблицы ресурса, а секция только выводит выбранную таблицу с лимитом строк.
Информация
Требуется PageBuilder Pro.
Зачем таблица из панели управления
- Одни данные в панели управления, несколько секций могут ссылаться на
table_key - Обновление прайса без правки каждой страницы
- Лимит строк задаётся в секции
Типичные данные
- Для прайс-листа услуг
- Для расписания мероприятий
- Для справочника точек выдачи из одного источника
Примеры страниц
- Услуги: Hero → Data table прайс → FAQ
- Событие: Data table расписание → Contact form
table_key и лимит
В поле Таблица укажите table_key из панели управления и Лимит строк. Сами данные редактируются не в инспекторе секции.
Похожие секции
- Таблица характеристик для фиксированных пар на одной странице
- Текстовый блок для разового текста без панели управления
Параметры блока
| Параметр | Значение |
|---|---|
| key | data_table |
| Слой | Pro |
| Категория | контент (content) |
| Chunk | pagebuilder_data_table |
| Требования | pro |
Поля в редакторе
Заполните поля в инспекторе секции на ресурсе. Описание типов полей: справочник типов.
Заголовок (title)
Тип text. Необязательное.
Вступление (intro)
Тип textarea. Необязательное.
Таблица (table)
Тип embeddedTable. Обязательное. Ссылка на таблицу из Панель управления PageBuilder: ключ таблицы и лимит строк.
Что видит посетитель
Секция pb-data-table с HTML-таблицей.
Данные секции
Пример JSON после сохранения секции. Для media, video и map значения на выводе могут быть обогащены:
{
"title": "Заголовок секции",
"intro": "Краткое вступление перед основным содержимым.",
"table": {
"table_key": "prices",
"limit": 10
}
}Шаблон chunk
Fenom chunk pagebuilder_data_table:
<section class="pb-section pb-section--data-table pb-data-table{if $cssClass} {$cssClass|escape}{/if}" data-pb-section="data_table"{if $id} id="pb-{$id|escape}"{/if}>
<div class="pb-section__inner pb-data-table__inner">
{if $title}
<h2 class="pb-heading pb-data-table__title">{$title|escape}</h2>
{/if}
{if $intro}
<p class="pb-data-table__intro">{$intro|escape}</p>
{/if}
{if $table.table_key}
<div class="pb-data-table__embed">
{set $tableKey = $table.table_key}
{set $tableLimit = $table.limit|default:20}
{$modx->runSnippet('PageBuilderTableRows', [
'table_key' => $tableKey,
'limit' => $tableLimit,
'return' => 'html'
])}
</div>
{/if}
</div>
</section>JSON-определение
PageBuilderPro/core/components/pagebuilderpro/sections/data_table.json
