Основний шаблон блока повинен бути знайдений для ключа owner
. Крім нього, масив повинен містити шаблони для кожної групи полів, і може містити шаблони для полів, які мають властивість elements
(це поля типу dropdown
, checkbox
, radio
). У таких шаблонах доступні вибрані значення властивості elements
.
Наприклад, якщо у масиві полів використовується група images
, то в шаблонах має бути визначений елемент із ключем images
, який буде містити або рядок шаблону:
'images' => '<img src="[+image+]" alt="[+title+]" class="slide">'
або асоціативний масив шаблонів:
'images' => [
'item' => '<img src="[+image+]" alt="[+title+]" class="slide">',
'thumb' => '<div class="thumb" style="background-image: url([+image+])"></div>',
],
У другому випадку виведення цих елементів у батьківському шаблоні можна використовувати як [+images.item+]
і [+images.thumb+]
.
Як плейсхолдери можуть використовуватися імена полів (наприклад [+title+]
), імена групових полів (наприклад [+images+]
, [+images.thumb+]
).
У шаблонах для полів вибору dropdown
, checkbox
, radio
доступні плейсхолдери [+value+]
і [+title+]
.
Також у шаблоні 'owner' доступні плейсхолдери [+index+]
і [+iteration+]
, а в групових полях та полях вибору - [+{имя_группы_поля}_index+]
і [+{имя_группы_поля}_iteration+]
.
Розмітку можна вказати у самому значенні масиву, як показано у прикладах вище.
Можлива вказівка імені чанка, у якому знаходиться потрібний шаблон. Для цього потрібно використати прив'язку @CHUNK
, наприклад:
'checkbox' => '@CHUNK all_fields_checkboxes',
Також можливе підвантаження шаблону з файлу, наприклад:
'owner' => '@FILE pagebuilder/all_fields.tpl',
У цьому прикладі файл шаблону буде завантажено з MODX_BASE_PATH . "assets/templates/pagebuilder/all_fields.tpl"
. Взагалі файл шукається в наступних каталогах:
assets/tvs/
assets/chunks/
assets/templates/
Або можна вказати повний шлях від кореня сайту. Перший слеш не вказується.
Шаблони можна групувати, щоб під час виводу використовувати різні групи шаблонів з параметром &templates
. Наприклад, якщо вказати наступну конфігурацію блоку:
'templates' => [
'owner' => '@CHUNK full_owner',
'images' => '@CHUNK full_images'
'anchors' => [
'owner' => '@CHUNK link_owner',
],
],
то виклик сніпета з параметром &templates
, рівним anchors
, буде використовувати для виведення шаблони, які визначені в групі anchors
:
[[PageBuilder? &templates=`anchors`]]