Автор: mnoskov
Плагин позволяет разработчику определить набор блоков с определенной разметкой и списком полей, чтобы контент-менеджер использовал те блоки, которые считает нужным, со своим наполнением.
После установки нужно создать файлы конфигурации, либо переименовать файлы *.php.sample
в *.php
. В панели администрирования плагин добавляет новую вкладку на странице редактирования ресурса. Для вывода результатов используется сниппет [[PageBuilder]]
.
Конфигурация для блоков берется из папки config
. Для создания нового блока нужно создать в этой папке файл <имя конфига>.php
, который должен вернуть ассоциативный массив. Для создания контейнера нужно создать файл container.<имя контейнера>.php
. Структура массива следующая:
Ключ | Значение |
---|---|
title | Название блока, видимое менеджеру при заполнении |
container | Имя контейнера (если несколько - то массив имен), в котором будет выводится блок. |
fields | Ассоциативный массив используемых полей, в котором ключами являются идентификаторы полей, а значениями - массивы опций этих полей. Возможные типы полей и опции приведены ниже. |
show_in_templates | Массив идентификаторов шаблонов, для которых доступны редактирование и вывод блоков |
hide_in_docs | Массив идентификаторов документов, для которых редактирование и вывод недоступны |
show_in_docs | Массив идентификаторов документов, для которых доступны редактирование и вывод блоков. Если этот параметр указан, то `hide_in_docs` не принимается во внимание. Если не указан ни один из параметров, ограничивающих доступ, блоки будут доступны во всех документах. |
order | Порядок сортировки в секции добавления блока, либо порядок сортировки контейнеров (вкладок). Этот параметр НЕ влияет на сортировку самих блоков! |
templates | Ассоциативный массив, содержащий шаблон для ключа `owner`, а также шаблоны для каждой группы полей. Описание методов создания шаблонов смотрите здесь. |
icon | Класс иконки, который будет выводиться в секции для добавления нового блока, если в параметрах плагина значение `&addType` установлено в `icons` Например, если задать класс `fa fa-cogs`, то в интерфейс будет выведено следующее: ```html ``` |
image | Изображение, которое будет выводиться в секции для добавления нового блока, если в параметрах плагина значение `&addType` установлено в `images`. Изображение будет обработано сниппетом `phpthumb` с параметром `w=80` |
prepare | Имя сниппета либо функция, которая будет вызвана перед выводом данных. Например: ```php 'prepare' => function(&$options, &$values) { ... }, ``` Параметры для функции и сниппета одинаковые: `options` - конфигурация контейнера, `values` - значения полей. |