Элементы
Основные параметры
Документация находится в процессе наполнения.
Все типы по своей сути это элементы (Elements) которые могут содержать разный набор параметров.
Для корректной работы всех возможностей, желательно использовать уникальные ключи для элементов в рамках всей конфигурации на всех уровнях.
Строка. Обязательный параметр, указывающий на тип элемента. Возможно указание подтипа через двоеточие. Например thumb:image
Строка. Заголовок для элемента.
Строка. Атрибуты заголовка.
Строка. Название элемента в списке шаблонов, если пропустить данный параметр, то название будет браться из ключа в массиве конфигурации
Строка. Если элемент имеет текстовое поле, то в этом параметр можно указать подсказку для ввода.
Строка. Класс для элемента. Можно использовать классы из bootsrap 4
Строка. Атрибуты для обертки элемента.
Строка. Атрибуты для элемента. Используется при выборе стандартного типа tv.
Строка. Значение по умолчанию
Строка. Параметр для стандартных типов tv, для ввода множественных значений, с разделителем ||.
Массив. Данные для дочерних элементов.
Строка. Класс для обёртки дочерних элементов.
Строка. Атрибуты для обёртки дочерних элементов
Массив или Булево. Используется для элементов которые могут иметь какие либо действия. Если булево то показывает или скрывает весь блок с действиями.
Чаще используемые значения:
add - добавление
del - удаление
move - перемещение
Например - удаление и перемещение
['del', 'move']
Булево. Используется только для дочерних элементов первого уровня, для скрытия шаблона из основного списка. Остаётся доступным при указании в параметре templates
Строка или Функция. Название сниппета, функции или самой функции для обработки данных на фронте.
Доступные аргументы
$data
- массив с данными,
$modx
- объект \DocumentParser,
$_MF
- объект MultifieldsНа фронте можно вызвать для каждого элемента свой обработчик через параметры сниппета как
&prepare_<KEY_TEMPLATE>=`snippet`
Строка. Шаблон для вывода данных на фронте. Поддерживает теги @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 modified 2yr ago