
PageBuilder
Визуальный конструктор секций для MODX 3: черновик и публикация без перезаписи content ресурса
- MODX 3
- PHP 8.2
- Vue 3


Секция accordion рендерит панели как <details>. Отдельного JS нет.
У панели open отмечает, открыта ли она по умолчанию.

| Параметр | Значение |
|---|---|
| key | accordion |
| Слой | Pro |
| Категория | контент (content) |
| Chunk | pagebuilderpro_accordion |
| Требования | pro |
| Поле | Тип | Обязательно | Назначение |
|---|---|---|---|
title | text | нет | Заголовок секции |
items | repeater | да | Панели |
items.title | text | да | Заголовок панели |
items.body | textarea | да | Текст |
items.open | toggle | нет | Открыта по умолчанию |
Каждая строка это <details class="pb-accordion__item">. Атрибут open ставится, если items.open истинно. JavaScript секция не подключает. Пустой repeater оставляет пустой div.pb-accordion__list.
{
"title": "Условия",
"items": [
{ "title": "Доставка", "body": "По городу на следующий день", "open": true }
]
}Fenom chunk pagebuilderpro_accordion:
<section class="pb-section pb-section--accordion pb-accordion{if $cssClass} {$cssClass|escape}{/if}" data-pb-section="accordion"{if $id} id="pb-{$id|escape}"{/if}>
<div class="pb-section__inner">
{if $title}<h2 class="pb-heading">{$title|escape}</h2>{/if}
<div class="pb-accordion__list">
{foreach $items as $item}
<details class="pb-accordion__item"{if $item.open} open{/if}>
<summary class="pb-accordion__summary">{$item.title|escape}</summary>
<div class="pb-accordion__body">
<p>{$item.body|escape}</p>
</div>
</details>
{/foreach}
</div>
</div>
</section>