PageBuilder

    Автор: 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` - значення полів.