Skip to content

ResourceController

vkiranananda edited this page Nov 4, 2020 · 4 revisions

Базовый контроллер от которого наследуется все модули.

Переменные

Основной конфиг по умолчанию ModuleName::config

protected $configPath = false;

Конфиг полей по умолчанию ModuleName::fields

protected $fieldsPath = false;

ModuleName - Каталог модуля далее после :: название конфига.

Функции агрегации

Функции вызываются каждый раз когда происходит вызов ниже приведенных событий

Возможные значение $type - create, store, edit, update, index, sortable

Вызывается в начале, сразу же после получения моделей.

    protected function resourceCombine($type)

Тоже но после сохранения записи. Удобно кэши чистить и прочее..

    protected function resourceCombineAfter($type)

Вызывается перед сохранением данных. Что бы была возможность поменять, что то в модели, после всех обработок. Возможные значения - store, update

    protected function preSaveData($type)

Функции списка

Кнопки вверху страницы (создать, клон)

urlPostfix - добавочный URL для ссылок. Функция возвращает массив доступных кнопок.

protected function indexListMenu($urlPostfix = '')

Пример

[
    'label' => 'Моя кнопка',
    'url' => '/my-url/' . $urlPostfix,
     // Тип кнопка как в бутстрап
    'btn-type' => 'primary'
]

Кнопка создать

protected function indexMenuCreateButton($urlPostfix)

Кнопка клон

protected function listSortableButton($urlPostfix)

Добавить ссылку в списке записей.

protected function indexLinks($post, $urlPostfix) {
    $res = parent::indexLinks($post, $urlPostfix);

    $res['user-role'] = action('\Backend\User\Controllers\RoleController@edit', $post['user_role_id']);

    return $res;
}

Теперь эту ссылку можно использовать в конфиге fields['list'] как

['name' => 'user_role_id', 'link' => 'user-role']
Clone this wiki locally