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

Системные настройки ​

Namespace MODX: pagebuilder. Ключ в базе: pagebuilder_<name>.

В манифесте дополнения 28 ключей. При установке или обновлении Phinx/resolver добавляет отсутствующие. Уже заданные значения не перезаписывает (update.settings = false).

Ключи, добавленные в 1.0.3+:

КлючРаздел
pagebuilder_inspector_visibility_enabledРедактор
pagebuilder_default_breakpointResponsive
pagebuilder_responsive_breakpointsResponsive
pagebuilder_responsive_applyResponsive

Ключи, добавленные в 1.0.9–1.0.10:

КлючРаздел
pagebuilder_catalog_examples_enabledКаталог
pagebuilder_resource_view_modeРедактор
pagebuilder_responsive_editor_enabledResponsive

Пути и превью ​

КлючТипПо умолчаниюОписание
pagebuilder_core_pathtext{core_path}components/pagebuilder/Путь к PHP core компонента
pagebuilder_assets_urltext{assets_url}components/pagebuilder/URL connector, preview, статики
pagebuilder_preview_secrettextпусто → resolverСекрет подписи токена превью черновика
pagebuilder_load_frontend_cssboolean1Подключать pagebuilder-sections.css при вызове сниппета PageBuilder
pagebuilder_preview_include_template_cssboolean1Подтягивать <link rel="stylesheet"> шаблона ресурса в iframe превью
pagebuilder_preview_css_urlstextareaпустоДополнительные CSS для превью (через запятую или с новой строки)

Пустой pagebuilder_preview_secret при установке resolver заполняет случайным hex (bin2hex(random_bytes(16))). Если значение снова пустое во время работы, код берёт site_uuid. На рабочем сайте задайте отдельный секрет, если превью не должно опираться на предсказуемый UUID.

Порядок CSS в iframe превью (preview.php):

  1. Stylesheet из шаблона ресурса, если pagebuilder_preview_include_template_css = 1
  2. URL из pagebuilder_preview_css_urls (через запятую или с новой строки)
  3. pagebuilder-sections.css и pagebuilder-preview.css

Порядок собирает функция pbBuildPreviewStylesheetUrls() из core/components/pagebuilder/include/preview_styles.php, а preview.php выводит теги через pbRenderPreviewStylesheetTags().

Если тема подключает CSS только через Fenom или @import без <link>, добавьте файлы явно в preview_css_urls. Плейсхолдеры: {assets_url}, {base_url}, {site_url}.

Вкладки на форме ресурса ​

КлючТипПо умолчаниюОписание
pagebuilder_resource_tab_enabledboolean0Вкладка «Секции» на форме ресурса
pagebuilder_resource_tab_parentstextпустоID родителей через запятую. Пусто при включённой вкладке = все ресурсы
pagebuilder_resource_tab_indexnumber-1Позиция вкладки «Секции»: 0 первая и открыта при загрузке ресурса, 1 вторая, -1 последняя
pagebuilder_resource_tables_tab_enabledboolean0Вкладка «Таблицы» (табличные данные ресурса)
pagebuilder_resource_tables_tab_indexnumber-1Позиция вкладки «Таблицы»

Collections (панель управления) ​

КлючТипПо умолчаниюОписание
pagebuilder_collections_enabledboolean0Динамический набор вкладок из Collections. Нужна capability collections (Pro). Без неё вкладки нет
pagebuilder_collections_modx_bridge_enabledboolean0Тип вкладки modx_collections

Подробнее: Панель управления → Collections.

Табличные данные ресурса ​

Вкладка «Таблицы» на ресурсе (pagebuilder_resource_tables_tab_enabled) или тип вкладки table в Collections.

ProcessorНазначение
mgr/datatable/listТаблицы ресурса
mgr/datatable/rows/listСтроки: search, page, limit, filters
mgr/datatable/rows/save / removeCRUD строк

Фильтры JSON по колонкам: { "price": { "op": "gte", "value": "10" } }. Операторы: eq, contains, in, gt, lt, gte, lte, between, empty, not_empty.

На сайте: сниппет PageBuilderTableRows, секция data_table. Подробнее: Разработчик.

Редактор ​

КлючТипПо умолчаниюОписание
pagebuilder_fake_enabledboolean0Кнопка Fake в инспекторе секции: заполняет поля детерминированными демо-данными (mgr/section/fake)
pagebuilder_inspector_visibility_enabledboolean0Кнопка Видимость в инспекторе: диалог условий, контекстов, UTM и копии для контекста. По умолчанию выкл., редактор видит только поля контента
pagebuilder_resource_view_modetexteditorialВид списка на вкладке Секции: editorial или table. Менеджер может переопределить тумблером (значение в localStorage)

Каталог ​

КлючТипПо умолчаниюОписание
pagebuilder_catalog_examples_enabledboolean1Вкладка Примеры в каталоге секций (Pro JSON-пресеты). Выключите, чтобы спрятать без удаления файлов пакета. Тумблер также в CMP Типы секций при capability presets (mgr/config/save)

Responsive breakpoints ​

Пороги экранов для полей с responsive: true и ширины iframe превью в менеджере.

КлючТипПо умолчаниюОписание
pagebuilder_responsive_editor_enabledboolean0Кнопка и вкладки разных значений поля для desktop / tablet / mobile в инспекторе. По умолчанию выкл. На сайте сохранённые карты breakpoints работают, пока редактор не сохранит поле одним значением
pagebuilder_default_breakpointtextdesktopКлюч из JSON breakpoints при responsive_apply=manual, если нет ?pb_bp=
pagebuilder_responsive_breakpointstextareadesktop / tablet / mobile JSONМассив { key, minWidth, previewWidth, label }. На типе секции можно переопределить responsiveBreakpoints
pagebuilder_responsive_applytextmanualmanual: на сайте одно значение (SEO-безопасно). css: все значения в HTML + media queries. В чанках для таких полей: {$title|pb_text} вместо |escape

Пример JSON по умолчанию:

json
[
  { "key": "desktop", "minWidth": 1024, "previewWidth": 1280, "label": "Desktop" },
  { "key": "tablet", "minWidth": 768, "previewWidth": 768, "label": "Tablet" },
  { "key": "mobile", "minWidth": 0, "previewWidth": 390, "label": "Mobile" }
]

Подробнее про данные поля: Обзор полей → responsive.

Public API ​

JSON только для чтения: опубликованные секции для headless. Подробнее: Public API.

КлючТипПо умолчаниюОписание
pagebuilder_public_api_enabledboolean0Включить assets/components/pagebuilder/api.php
pagebuilder_public_api_keytextпустоAPI-ключ. Пусто: запросы без ключа (только для разработки)
pagebuilder_public_api_cors_originstextarea*Разрешённые CORS origins для браузера

REST API v1 ​

Транспорт Pro только для чтения. Подробнее: REST API v1. Токены выпускают во вкладке CMP API tokens, не правкой JSON вручную.

КлючТипПо умолчаниюОписание
pagebuilder_rest_api_enabledboolean0Включить assets/components/pagebuilder/api/v1.php. Нужен PageBuilder Pro
pagebuilder_rest_token_peppertextпустоPepper для SHA-256 хеша токена. Пусто = site_id
pagebuilder_rest_tokenstextarea[]JSON токенов без секретов (prefix и hash)
pagebuilder_rest_throttle_per_minutenumber120Лимит запросов на prefix токена. 0 выключает лимит

Связь со сниппетом ​

НастройкаПараметр сниппетаПоведение
pagebuilder_load_frontend_cssload_cssПараметр переопределяет системную настройку
—wrap_pageОбёртка <div class="pb-page"> (по умолчанию как у load_css)

Параметры load_css и wrap_page задаются только на вызове сниппета, в properties сниппета они не перечислены.