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

Вывод на сайте

Шаблон

Сниппет PageBuilder вставляют в шаблон или в поле content. Вызов некэшированный:

modx
[[!PageBuilder]]
fenom
{'!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 ограничивает вывод списком ключей:

modx
[[!PageBuilder? &section_types=`hero,cta`]]
fenom
{'!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

  1. Скопируйте chunk секции в категорию темы.
  2. Измените Fenom-разметку, сохраните имя или переопределите mapping в plugin на pbOnBeforeRenderSection.

Plugin может подменить секцию до рендера chunk через SectionRenderPipeline::replaceSection().

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