Узнать текущий контроллер и action
Узнать текущий контроллер и action
Доброго времени суток
Как узнать имя текущего контроллера и action'а в лейауте?
P.S. В документации что-то не нашёл
Как узнать имя текущего контроллера и action'а в лейауте?
P.S. В документации что-то не нашёл
- TranceSmile
- Сообщения: 562
- Зарегистрирован: 2011.06.27, 19:04
- Откуда: Украина
- Контактная информация:
Re: Узнать текущий контроллер и action
Спасибо. В гугле находил это, но забыл написать use yii;
Re: Узнать текущий контроллер и action
Вот ещё вопрос:
Сейчас мне надо узнать модуль/контроллер/экшен для этого я пишу вот так
Есть ли в yii какая то замена этой длинной строки?
Сейчас мне надо узнать модуль/контроллер/экшен для этого я пишу вот так
Код: Выделить всё
Yii::$app->controller->module->id . '/'. Yii::$app->controller->id . '/' . Yii::$app->controller->action->id
- TranceSmile
- Сообщения: 562
- Зарегистрирован: 2011.06.27, 19:04
- Откуда: Украина
- Контактная информация:
Re: Узнать текущий контроллер и action
При постарение list-group надо проверять для того, чтобы ставить класс active
Re: Узнать текущий контроллер и action
Код: Выделить всё
Yii::$app->controller->route
Re: Узнать текущий контроллер и action
debuger выводит эту информациюВот ещё вопрос:
Сейчас мне надо узнать модуль/контроллер/экшен для этого я пишу вот так
КОД: ВЫДЕЛИТЬ ВСЁ
Yii::$app->controller->module->id . '/'. Yii::$app->controller->id . '/' . Yii::$app->controller->action->id
Есть ли в yii какая то замена этой длинной строки?
А ещё как вариант сделать шоткат в IDE на эту длинную строчку, все-равно это временный код (как я понимаю).
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Узнать текущий контроллер и action
Еще в представлении (шаблоне) можно
вернет ИД контролера который рендерит это представление.
Код: Выделить всё
echo $this->context->id;
Жду Yii 3!
Re: Узнать текущий контроллер и action
Ай-яй.. Если у вас потом появится подмодуль - все сломается..BMW M6 писал(а):Вот ещё вопрос:
Сейчас мне надо узнать модуль/контроллер/экшен для этого я пишу вот такЕсть ли в yii какая то замена этой длинной строки?Код: Выделить всё
Yii::$app->controller->module->id . '/'. Yii::$app->controller->id . '/' . Yii::$app->controller->action->id
Код: Выделить всё
$operationStack = [];
$controller = $action->controller;
$module = $controller->module;
array_unshift($operationStack, $action->id);
array_unshift($operationStack, $controller->id);
while (!(empty($module) || ($module instanceof \yii\base\Application))) {
array_unshift($operationStack, $module->id);
$module = $module->module;
}
$operation = implode(DbManager::PERMISION_ROUTE_DIVIDER, $operationStack);
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Узнать текущий контроллер и action
Или просто, как написал ElisDN, результат будет тот жеvismut писал(а):У меня так. Просто у себя имплоудите $operationStack как нравится вамКод: Выделить всё
$operationStack = []; $controller = $action->controller; $module = $controller->module; array_unshift($operationStack, $action->id); array_unshift($operationStack, $controller->id); while (!(empty($module) || ($module instanceof \yii\base\Application))) { array_unshift($operationStack, $module->id); $module = $module->module; } $operation = implode(DbManager::PERMISION_ROUTE_DIVIDER, $operationStack);
Код: Выделить всё
Yii::$app->controller->route;
Код: Выделить всё
$this->context->route;
Жду Yii 3!
Re: Узнать текущий контроллер и action
Код: Выделить всё
Yii::$app->controller->route;
Re: Узнать текущий контроллер и action
Любовь городить собственные велосипеды у программиста не отнятьslavcodev писал(а): Или просто, как написал ElisDN, результат будет тот жеилиКод: Выделить всё
Yii::$app->controller->route;
Код: Выделить всё
$this->context->route;
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Узнать текущий контроллер и action
Тут скорее всего не велосипедостроение, а упущение возможностей фреймворка, или даже последствия некоторых циклов изменения кода, без рефакторинга.VaNnOrus писал(а):Любовь городить собственные велосипеды у программиста не отнять
Жду Yii 3!
Re: Узнать текущий контроллер и action
Спасибоvismut писал(а):Ай-яй.. Если у вас потом появится подмодуль - все сломается..BMW M6 писал(а):Вот ещё вопрос:
Сейчас мне надо узнать модуль/контроллер/экшен для этого я пишу вот такЕсть ли в yii какая то замена этой длинной строки?Код: Выделить всё
Yii::$app->controller->module->id . '/'. Yii::$app->controller->id . '/' . Yii::$app->controller->action->id
У меня так. Просто у себя имплоудите $operationStack как нравится вамКод: Выделить всё
$operationStack = []; $controller = $action->controller; $module = $controller->module; array_unshift($operationStack, $action->id); array_unshift($operationStack, $controller->id); while (!(empty($module) || ($module instanceof \yii\base\Application))) { array_unshift($operationStack, $module->id); $module = $module->module; } $operation = implode(DbManager::PERMISION_ROUTE_DIVIDER, $operationStack);