Вывод на сайте
Шаблон
Сниппет PageBuilder вставляют в шаблон или в поле content. Вызов некэшированный:
[[!PageBuilder]]{'!PageBuilder' | snippet}Опубликованные секции рендерятся через Fenom chunks в core/components/pagebuilder/elements/chunks/. Имя chunk совпадает с полем chunk в JSON типа: pagebuilder_hero, pagebuilder_cta, для Pro — pagebuilderpro_{key}.
CSS
По умолчанию сниппет регистрирует:
pagebuilder-sections.css: базовые стили секций Free- при Pro и интерактивных секциях подключается
pagebuilder-sections.js(tabs, carousel)
Отключить глобально: pagebuilder_load_frontend_css = 0. На одном вызове: &load_css=0``.
Обёртка страницы <div class="pb-page"> управляется wrap_page (по умолчанию совпадает с load_css).
Токены, BEM и Fenom-оболочка: Дизайн-система.
Кеш HTML
Параметр use_cache=1 (по умолчанию) кеширует итоговый HTML в MODX. После публикации секций сбросьте кеш сайта или временно вызовите с use_cache=0.
События pbOnBeforeRenderDocument и pbOnBeforeRenderSection вызываются только при промахе кеша (когда HTML ещё не закэширован).
Фильтр секций
Параметр section_types ограничивает вывод списком ключей:
[[!PageBuilder? §ion_types=`hero,cta`]]{'!PageBuilder' | snippet : ['section_types' => 'hero,cta']}Удобно, если нужны фрагменты страницы в разных местах шаблона.
JSON вместо HTML
return_values=1 возвращает JSON с извлечёнными значениями полей (plainText, структура sections). Подходит для headless-сценариев или своего шаблонизатора. Срабатывает pbOnGetValues.
Видимость секций
В settings секции можно задать:
contexts: список ключей контекста MODX (текущий контекст запроса)utm: правила по UTM из$_SESSION['utm']после PageBuilderUtmSession
В Pro при флаге conditions добавляется settings.conditions (loggedIn, guest, context, GET-параметры и др.). Проверка идёт через SectionVisibility и событие pbOnCheckSectionVisibility.
Секция не попадает в HTML, если правило не выполнено.
Превью черновика
Публичный сайт показывает только опубликованную версию. Черновик смотрят через менеджер (кнопка Preview) или URL:
{assets_url}components/pagebuilder/preview.php
Токен подписывается pagebuilder_preview_secret. В iframe подключаются CSS шаблона (pagebuilder_preview_include_template_css) и список из pagebuilder_preview_css_urls.
Кастомизация chunks
- Скопируйте chunk секции в категорию темы.
- Измените Fenom-разметку, сохраните имя или переопределите mapping в plugin на
pbOnBeforeRenderSection.
Plugin может подменить секцию до рендера chunk через SectionRenderPipeline::replaceSection().
