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


Секция how_it_works выводит шаги из repeater.

| Параметр | Значение |
|---|---|
| key | how_it_works |
| Слой | Pro |
| Категория | контент (content) |
| Chunk | pagebuilderpro_how_it_works |
| Требования | pro |
| Поле | Тип | Обязательно | Назначение |
|---|---|---|---|
title | text | нет | Заголовок секции |
intro | textarea | нет | Вступление |
steps | repeater | да | Шаги |
steps.title | text | да | Название шага |
steps.text | textarea | нет | Текст |
steps.icon | image | нет | Иконка |
Шаги в <ol>. Номер это индекс строки плюс 1, атрибут aria-hidden="true". Поле icon имеет тип image, не icon. Картинка идёт через pagebuilder_partial_image. Пустой repeater оставляет пустой список. intro печатается только если заполнен.
{
"title": "Как заказать",
"intro": "Три шага",
"steps": [
{
"title": "Выбор",
"text": "Добавьте товар",
"icon": { "url": "assets/images/step.png" }
}
]
}Fenom chunk pagebuilderpro_how_it_works:
<section class="pb-section pb-section--how-it-works pb-how-it-works{if $cssClass} {$cssClass|escape}{/if}" data-pb-section="how_it_works"{if $id} id="pb-{$id|escape}"{/if}>
<div class="pb-section__inner">
{if $title}<h2 class="pb-heading">{$title|escape}</h2>{/if}
{if $intro}<p class="pb-how-it-works__intro">{$intro|escape}</p>{/if}
<ol class="pb-how-it-works__steps">
{foreach $steps as $step}
<li class="pb-how-it-works__step">
<span class="pb-how-it-works__num" aria-hidden="true">{$step@index + 1}</span>
{if $step.icon}{include 'pagebuilder_partial_image' image=$step.icon alt=$step.title class='pb-how-it-works__icon'}{/if}
<h3>{$step.title|escape}</h3>
{if $step.text}<p>{$step.text|escape}</p>{/if}
</li>
{/foreach}
</ol>
</div>
</section>