evolution/admin_helper

admin helper

Maintainers

Package info

gitlab.com/ov6053444/admin.installer

Issues

pkg:composer/evolution/admin_helper

Transparency log

Statistics

Installs: 37

Dependents: 0

Suggesters: 0

Stars: 0

1.1.1 2026-05-30 16:35 UTC

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