Компонент хранит пользовательские данные и конфигурацию в специальных полях. Эти поля редактируются через интерфейс настройки компонента.
Поля описываются в файле: /extensions/Components/Компонент/Views/Шаблон/fields.php
В шаблоне компонента: /extensions/Components/Компонент/Views/Шаблон/template.php
значения полей доступны в массиве $data['fields']
К примеру, для того, чтобы вывести поле Заголовок [title], нам нужно использовать <?=$data['fields']['title']?>
Типы полей для файла fields.php
Строка
$fields['title'] = [
'name' => [
'ru' => 'Заголовок'
],
'type' => 'string',
'required' => false,
];
Текст
$fields['text'] = [
'name' => [
'ru' => 'Текст'
],
'type' => 'text',
'required' => false,
];
Визуальный редактор
$fields['text'] = [
'name' => [
'ru' => 'Описание'
],
'type' => 'visualTextEditor',
'required' => true,
];
Список
$fields['style'] = [
'name' => [
'ru' => 'Стиль'
],
'placeholder' => [
'ru' => '- Укажите стиль'
],
'required' => false,
'type' => 'select',
'list' => [
[
'value' => 'default',
'name' => [
'ru' => 'Обычный',
]
],
[
'value' => 'bold',
'name' => [
'ru' => 'Жирный',
]
],
[
'value' => 'italic',
'name' => [
'ru' => 'Курсив',
]
]
],
];
Число
$fields['fontSize'] = [
'name' => [
'ru' => 'Размер шрифта (px)'
],
'type' => 'int',
'min' => 11,
'max' => 90,
'step' => '1',
'required' => false,
];
Выбор шрифта
$fields['font'] = [
'name' => [
'ru' => 'Шрифт'
],
'type' => 'fonts',
'required' => false,
];
Для подключения шрифта, используйте: font-family: <?= $this->getFont($data['fields']['font']) ?>;
Выбор цвета
$fields['color'] = [
'name' => [
'ru' => 'Цвет'
],
'required' => false,
'type' => 'color',
];
Изображение
$fields['image'] = [
'name' => [
'ru' => 'Изображение'
],
'type' => 'image',
'placeholder' => [
'ru' => 'Выберите изображение',
],
'required' => false,
];
Файл
$fields['file'] = [
'name' => [
'ru' => 'Файл'
],
'type' => 'file',
'placeholder' => [
'ru' => 'Выберите файл',
],
'required' => false,
];
Разделитель
$fields[] = [
'title' => 'Слайд 1',
'type' => 'separator',
];
Флаг
$fields['isUseGradient'] = [
'name' => [
'ru' => 'Использовать градиент'
],
'required' => false,
'type' => 'checkbox',
'placeholder' => [
'ru' => 'к каркасу применится градиент',
]
];
Ключ : значение
$fields['chartData'] = [
'name' => [
'ru' => 'Данные для диаграммы Ключ : Значение'
],
'type' => 'keyValue',
'required' => false,
];