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

Сниппет PageBuilder

Выводит опубликованные секции ресурса в HTML. Черновик на сайте не показывается. Каждая секция рендерится своим Fenom-chunk (pagebuilder_{key}).

Назначение

Основной вывод PageBuilder в шаблоне или поле Содержимое ресурса.

Где вызывать

  • Шаблон страницы, собранной во вкладке Секции.
  • Поле content, если шаблон выводит [[*content]].
  • Не подставляйте в кэшируемый вызов без !: после публикации секций HTML может устареть.

Зависимости

  • Установленное дополнение pagebuilder (или pagebuilderpro).
  • pdoTools 3.0+ для Fenom в chunks секций.
  • Опубликованный snapshot секций на ресурсе.

Параметры

ПараметрПо умолчаниюОписание
resource_id0ID ресурса. 0 = текущий
section_typesпустоКлючи секций через запятую (hero,gallery). Пусто = все опубликованные
return_values01 → JSON { plainText, sections } вместо HTML
use_cache1Кеш MODX для HTML. 0 при отладке render events
load_cssиз pagebuilder_load_frontend_cssПодключить pagebuilder-sections.css и связанные стили
wrap_pageкак load_cssОбёртка <div class="pb-page">

Параметры load_css и wrap_page не указаны в properties сниппета, но поддерживаются в коде. См. Системные настройки → Связь со сниппетом.

Базовый вызов

modx
[[!PageBuilder]]
fenom
{'!PageBuilder' | snippet}

Фильтр по типам секций

Только hero и CTA на landing:

modx
[[!PageBuilder?
  &section_types=`hero,cta`
]]
fenom
{'!PageBuilder' | snippet : [
  'section_types' => 'hero,cta'
]}

return_values

JSON для SEO-плагинов и headless-гибридов. Структура совпадает с полем values в Public API:

modx
[[!PageBuilder? &return_values=`1`]]
fenom
{'!PageBuilder' | snippet : ['return_values' => 1]}

При return_values=1 срабатывает событие pbOnGetValues. CSS и обёртка pb-page не подключаются.

CSS и обёртка

При load_css=1 сниппет регистрирует frontend CSS (см. Дизайн-система). Стили Pro и commerce подключаются при флаге pro.

Глобально отключить: pagebuilder_load_frontend_css = 0. На одном вызове: &load_css=0``.

Кеш HTML

Кеш MODX: partition pagebuilder/{resourceId}, ключ render/{context}/{resourceId}/{publishedRevision}[/{typeHash}]. Сбрасывается при publish/unpublish. Ошибки рендера в кеш не попадают.

События pbOnBeforeRenderDocument и pbOnBeforeRenderSection вызываются только при промахе кеша:

modx
[[!PageBuilder? &use_cache=`0`]]
fenom
{'!PageBuilder' | snippet : ['use_cache' => 0]}

Пропуск секций

Секция с невыполненным requires (Pro, miniShop3) не попадает в HTML. Неизвестный тип логируется, блок пропускается.

См. также