evolution / admin_helper
admin helper
1.1.1
2026-05-30 16:35 UTC
Requires
- php: >=8.1
This package is not auto-updated.
Last update: 2026-06-27 14:13:09 UTC
README
Подключение функционала
Таблица
1) Необходимо подключить трейт к классу \CAdminForm
use \Evolution\Admin\Table;
2) Вызвать таблицу на административной странице
$tabControl->buildTable(
'{id_table}',
[
'{title1}',
'{title2}',
'{title3}',
],
[
// select {item1}
$tabControl::generateItemForBuildTable(
'{name}',// значение атрибута name
['{items}'],// значения списка values - option, groups - optgroup
// TODO Формат массива значения ("values" => "arValues" || "groups" => ["name" => "название группы", "values" => "arValues"]])
'{type} (select)',// Тип поля формы
['{current_values}'],// Выбранные значения
'{isNeedEmptyValue} (bool)',// Пустое значение в выборе
'{needGroup} (bool)'// Использование optgroup
),
// text, int {item2}
[
'name' => '{name}', // значение атрибута name
'currentValue' => '{current_values}', // Выбранные значения
'type' => 'text, int',// Тип поля формы
],
// checkbox {item3}
[
'name' => '{name}', // значение атрибута name
'values' => [0 => 'value1', 1 => 'value2'], // значения
'currentValue' => '{current_values}', // Выбранные значения
'type' => 'checkbox',// Тип поля формы
],
// radio {item4}
[
'name' => '{name}', // значение атрибута name
'values' => '[Y, N]', // поле принимает единственные значения
'currentValue' => '{current_values}', // Выбранные значения
'type' => 'radio',// Тип поля формы
],
],
(int)'Значение поля формы c ключом: {id_table} . "_count".' ?: 1,
'{Спецификация таблицы}'
);
Изображения
1) Необходимо подключить трейт к классу \CAdminForm
use \Evolution\Admin\Image;
2) Перед сохранением настроек вызвать метод AdminHelper::prepareRequestImage
if ($request->isPost() && $requestValues['save'] <> '') {
AdminHelper::prepareRequestImage($requestValues, $settingsValues,MODULE_ID, SITE_ID);
Config::setOptions($requestValues['options'] ?? [], $settingsValues);
}
3) Вызвать поле для изображения на административной странице
$tabControl->AddImageField('options[logo]', 'logo', is_array($settingsValues['setting_logo']) ? $settingsValues['setting_logo'] : []);
4) При сохранении сохраняется 2 поля из примера
$settingsValues['setting_logo'] //TODO поле для передачи аргумента в метод $tabControl->AddImageField
$settingsValues['logo'] //TODO поле для использования в своей логике
5) Поле $settingsValues['logo'] содержит массив файла а не id.
$settingsValues['logo'] = \CFile::GetFileArray($fileId);
Изменение пакета
После изменения файлов репозитория необходимо:
1) Изменить версию пакета в composer.json на более высокую 2) git commit 3) git push 4) git tag -a v1.0.{version} -m "description" 5) git push origin --tags