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

Сниппеты PageBuilder

Пакет поставляет шесть сниппетов. Namespace chunks и секций: pagebuilder.

СниппетНазначение
PageBuilderHTML опубликованных секций текущего или заданного ресурса
PageBuilderResourceСекции другого ресурса (resource_id обязателен)
PageBuilderSitemapXML sitemap страниц с опубликованными секциями
PageBuilderUtmSessionUTM из query string в сессию для правил видимости секций
PageBuilderUtmUrlUTM из реестра панели управления к произвольному URL
PageBuilderTableRowsСтроки табличных данных ресурса (JSON или chunk)

Порядок на типовой странице

  1. PageBuilderUtmSession в общем layout, если на странице работают UTM-правила секций (один раз на запрос, до рендера секций).
  2. PageBuilder в шаблоне или поле content ресурса.
  3. PageBuilderTableRows отдельно, если таблица выводится вне секции data_table.

Для блока с другой страницы (hero с главной, FAQ из лендинга) используйте PageBuilderResource.

Таблица соответствий (MODX / Fenom)

НазначениеMODXFenom
Секции страницы[[!PageBuilder]]{'!PageBuilder' | snippet}
Фильтр секций[[!PageBuilder? &section_types=hero,cta]]{'!PageBuilder' | snippet : ['section_types' => 'hero,cta']}
Секции другого ресурса[[!PageBuilderResource? &resource_id=42]]{'!PageBuilderResource' | snippet : ['resource_id' => 42]}
JSON для SEO[[!PageBuilder? &return_values=1]]{'!PageBuilder' | snippet : ['return_values' => 1]}
Sitemap[[!PageBuilderSitemap]]{'!PageBuilderSitemap' | snippet}
UTM в сессию[[!PageBuilderUtmSession]]{'!PageBuilderUtmSession' | snippet}
URL с UTM[[!PageBuilderUtmUrl? &url=/contacts/]]{'!PageBuilderUtmUrl' | snippet : ['url' => '/contacts/']}
Строки таблицы[[!PageBuilderTableRows? &table_key=prices]]{'!PageBuilderTableRows' | snippet : ['table_key' => 'prices']}

Кэширование

PageBuilder и PageBuilderResource вызывайте некэшированно ([[!...]] или {'!...' | snippet}). Иначе MODX может отдать HTML без учёта свежей публикации.

PageBuilderUtmSession тоже некэшированный: сессия заполняется в том же HTTP-запросе, что и переход по UTM-ссылке.

См. также