controller_before.*

Срабатывает перед выполнением указанного PHP-контроллера.

Доступно начиная с версии 1.0.0.

Команда

Входящие параметры (передаются по ссылке)

$params['controller'] waViewController Экземпляр класса контроллера.
$params['params'] array|null Параметры, переданные в класс контроллера.
… код плагина …

Результат работы плагина

%plugin_id%
Плагин может вернуть значение false, чтобы предотвратить выполнение контроллера.
Команда

Пример кода плагина

PHP

/**
 * 'handlers' => [
 *     'controller_before.teamProfileAction' => 'controllerBeforeTeamProfileAction',
 * ],
 */
public function controllerBeforeTeamProfileAction(&$params)
{
    if (!teamMyPlugin::canViewUserProfile()) {
        wa()->getResponse()->redirect(wa()->getAppUrl('team'));
        return false;
    }
}