Элементы

Основные параметры

Документация находится в процессе наполнения.

Все типы по своей сути это элементы (Elements) которые могут содержать разный набор параметров.

Для корректной работы всех возможностей, желательно использовать уникальные ключи для элементов в рамках всей конфигурации на всех уровнях.

Ниже приведены общие параметры для большинства элементов

type

Строка. Обязательный параметр, указывающий на тип элемента. Возможно указание подтипа через двоеточие. Например thumb:image

title

Строка. Заголовок для элемента.

title.attr

Строка. Атрибуты заголовка.

label

Строка. Название элемента в списке шаблонов, если пропустить данный параметр, то название будет браться из ключа в массиве конфигурации

placeholder

Строка. Если элемент имеет текстовое поле, то в этом параметр можно указать подсказку для ввода.

class

Строка. Класс для элемента. Можно использовать классы из bootsrap 4

attr

Строка. Атрибуты для обертки элемента.

item.attr

Строка. Атрибуты для элемента. Используется при выборе стандартного типа tv.

default

Строка. Значение по умолчанию

elements

Строка. Параметр для стандартных типов tv, для ввода множественных значений, с разделителем ||.

items

Массив. Данные для дочерних элементов.

items.class

Строка. Класс для обёртки дочерних элементов.

items.attr

Строка. Атрибуты для обёртки дочерних элементов

actions

Массив или Булево. Используется для элементов которые могут иметь какие либо действия. Если булево то показывает или скрывает весь блок с действиями. Чаще используемые значения: add - добавление del - удаление move - перемещение Например - удаление и перемещение ['del', 'move']

hidden

Булево. Используется только для дочерних элементов первого уровня, для скрытия шаблона из основного списка. Остаётся доступным при указании в параметре templates

prepare

Строка или Функция. Название сниппета, функции или самой функции для обработки данных на фронте. Доступные аргументы $data - массив с данными, $modx - объект \DocumentParser, $_MF - объект Multifields

На фронте можно вызвать для каждого элемента свой обработчик через параметры сниппета как &prepare_<KEY_TEMPLATE>=`snippet`

tpl

Строка. Шаблон для вывода данных на фронте. Поддерживает теги @CODE, @TPL, @FILE, @CHUNK и др. В качестве значения используется плейсхолдер [+value+]

Пример шаблона.

<?php

return [
    'settings' => [],
    'templates' => [
        'Thumb' => [
            'title' => 'Картинка',
            'label' => 'Картинка',
            'type' => 'thumb:image',
            'multi' => 'Thumb',
            'tpl' => '@CODE:<img src="[+value+]">',
            'prepare' => function ($data, $modx) {
                $data['value'] = $modx->runSnippet('phpthumb', [
                    'input' => $data['value'],
                    'options' => 'w=100,h=100,zc=1'
                ]);

                return $data;
            }
        ]
    ]
];

Last updated