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

Аккордеон ​

Секция accordion рендерит панели как <details>. Отдельного JS нет.

У панели open отмечает, открыта ли она по умолчанию.

Аккордеон

Где уместна ​

  • Короткий FAQ без отдельной секции вопросов
  • Условия и оговорки
  • Раскрывающиеся блоки в статье

Параметры блока ​

ПараметрЗначение
keyaccordion
СлойPro
Категорияконтент (content)
Chunkpagebuilderpro_accordion
Требованияpro

Поля ​

ПолеТипОбязательноНазначение
titletextнетЗаголовок секции
itemsrepeaterдаПанели
items.titletextдаЗаголовок панели
items.bodytextareaдаТекст
items.opentoggleнетОткрыта по умолчанию

Рендер ​

Каждая строка это <details class="pb-accordion__item">. Атрибут open ставится, если items.open истинно. JavaScript секция не подключает. Пустой repeater оставляет пустой div.pb-accordion__list.

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

json
{
  "title": "Условия",
  "items": [
    { "title": "Доставка", "body": "По городу на следующий день", "open": true }
  ]
}

Шаблон chunk ​

Fenom chunk pagebuilderpro_accordion:

fenom
<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>

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

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