Поля хранения данных

  1. Структура компонента
  2. Создание компонента
  3. Поля хранения данных
  4. Подключение зависимостей ic
  5. Адаптация под текущую тему
  6. Живое редактирование

Компонент хранит пользовательские данные и конфигурацию в специальных полях. Эти поля редактируются через интерфейс настройки компонента.

Поля описываются в файле: /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,
];

 

  1. Структура компонента
  2. Создание компонента
  3. Поля хранения данных
  4. Подключение зависимостей ic
  5. Адаптация под текущую тему
  6. Живое редактирование