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

Версия: Pro.
Несколько фото с alt и caption в repeater-like UI. Enrich как у image на каждый кадр. Pro advanced-fields.
Один кадр: image. В chunk перебирайте массив и {$slide.url}.
{
"name": "shots",
"type": "gallery",
"label": "Галерея",
"groups": true,
"tab": "Контент",
"width": 100,
"active": true
}Массив media-объектов (изображения, видео, pdf и др.).
Ключ shots в данных секции: массив media-объектов после enrich:
{
"shots": [
{
"url": "assets/images/hero.jpg",
"id": 12,
"path": "assets/images/",
"filename": "hero.jpg",
"extension": "jpg",
"name": "hero",
"title": "hero.jpg",
"width": 1920,
"height": 1080,
"size": 245760,
"type": "image",
"description": "Подпись к кадру",
"preview": "assets/images/hero.jpg",
"groups": [
"main",
"slider"
]
},
{
"url": "assets/files/catalog.pdf",
"id": 34,
"path": "assets/files/",
"filename": "catalog.pdf",
"extension": "pdf",
"name": "catalog",
"title": "catalog.pdf",
"size": 1048576,
"type": "pdf",
"groups": "docs"
}
]
}groups: строка или массив, если включено в schema поля.{foreach $shots as $image}
<img src="{$image.url|escape}" width="{$image.width}" height="{$image.height}" alt="{$image.title|escape}">
{/foreach}Для полей с name, которые сохраняются в данных секции:
| Ключ | Тип | Роль | Панель |
|---|---|---|---|
tab | string | Подзаголовок группы в инспекторе | да |
width | 25–100 | Ширина поля в % строки (flex) | да |
description | string | Подсказка под подписью | да |
default | any | Начальное значение новой секции | да |
active | bool | false: скрыть поле в инспекторе | да |
required | bool | Обязательно при publish (черновик сохраняется) | да |
groups: true: группы у элементов галереи.Подробнее: обзор полей.