
- MODX 3
- PHP 8.2
- Vue 3


Выводит опубликованные секции ресурса в HTML. Черновик на сайте не показывается. HTML-путь (параметр return_values не передан) отдаёт пустую строку, пока страницу не опубликовали.
Чанк секции: Free pagebuilder_{key}, Pro pagebuilderpro_{key} (data_table → pagebuilder_data_table). Чанк pagebuilder_data_table ставится вместе с пакетом.
[[*content]].[[!PageBuilder]]). Без ! HTML может устареть после публикации секций.Плагин pagebuilder на pdoToolsOnFenomInit регистрирует модификаторы Fenom: utm_query, pb_href, pb_text, pb_image_src, pb_table, default. В шаблонах они доступны без вызова сниппетов.
| Параметр | По умолчанию | Описание |
|---|---|---|
resource_id | 0 | ID ресурса. 0 = текущий |
section_types | пусто | Ключи секций через запятую (hero,gallery). Пусто = все опубликованные |
return_values | 0 | 1 → JSON { plainText, sections } вместо HTML |
use_cache | 1 | Кеш MODX для HTML. 0 при отладке событий отрисовки |
load_css | из pagebuilder_load_frontend_css | Подключить pagebuilder-sections.css и связанные стили |
wrap_page | как load_css | Обёртка <div class="pb-page"> |
qa_css | 0 | 1 → подключить pagebuilder-qa.css. Иначе CSS QA подключается сам, если на странице есть QA-секции |
В properties сниппета нет load_css, wrap_page и qa_css, но вызов их принимает. qa_css действует только при включённом load_css. См. Системные настройки → Связь со сниппетом.
Флаги use_cache, load_css, wrap_page, qa_css и return_values читают строку. Выключают 0, false, no, off и пустая строка. Остальные значения включают. То же у настройки pagebuilder_load_frontend_css.
[[!PageBuilder]]{'!PageBuilder' | snippet}[[!PageBuilder?
§ion_types=`hero,cta`
]]{'!PageBuilder' | snippet : [
'section_types' => 'hero,cta'
]}JSON для SEO-плагинов. Структура совпадает с полем values в Public API:
[[!PageBuilder? &return_values=`1`]]{'!PageBuilder' | snippet : ['return_values' => 1]}При return_values=1 срабатывает событие pbOnGetValues. CSS и обёртка pb-page не подключаются. Источник: опубликованный snapshot, если publishedRevision > 0, иначе черновик. Если ресурс не определился, ответ пустая строка, в том числе при return_values=1.
При load_css=1 сниппет подключает frontend CSS (см. Дизайн-система). Стили Pro и commerce включаются при флаге pro.
Глобально отключить: pagebuilder_load_frontend_css = 0. На одном вызове: &load_css=`0` .
При &wrap_page=1 плагин вставит CSS на OnWebPagePrerender, даже если load_css=0. Он ищет в выводе class="pb-page" и на настройку не смотрит. Полностью без стилей: wrap_page=0.
Кеш MODX: partition pagebuilder/{resourceId}, ключ render/{context}/{resourceId}/{publishedRevision}[/{typeHash}]. Сбрасывается при publish/unpublish. Ошибки отрисовки в кеш не попадают.
Кеш обходится полностью, если у документа есть UTM-правила, conditions или секция с cacheable: false. То же для типа с runtimeContext: true: contact_form, form_builder, quiz, dynamic_list, filterable_grid. На таком документе события вызываются на каждый запрос.
События pbOnBeforeRenderDocument и pbOnBeforeRenderSection вызываются при промахе кеша. Кеш отключается на один вызов:
[[!PageBuilder? &use_cache=`0`]]{'!PageBuilder' | snippet : ['use_cache' => 0]}Секция с невыполненным requires (Pro, miniShop3) не попадает в HTML. Перед проверкой сниппет вызывает pbOnCheckSectionRequirement. Неизвестное требование логируется, и секция пропускается.