Как из файла layout/main.php узнать имя работающего модуля?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
SamGold
Сообщения: 7
Зарегистрирован: 2016.11.17, 21:00

Как из файла layout/main.php узнать имя работающего модуля?

Сообщение SamGold » 2017.01.04, 17:22

Добрый день!
Нужно в файле @app/views/layouts/main.php указать фоновую картинку для <body>, в зависимости от того, какой модуль показывает свои вьюхи. Подскажите, как узнать название модуля?



SamGold
Сообщения: 7
Зарегистрирован: 2016.11.17, 21:00

Re: Как из файла layout/main.php узнать имя работающего модуля?

Сообщение SamGold » 2017.01.04, 17:51

Наверно, я не точно вопрос задал. У меня есть модули админ и личный кабинет и отдельно модуль статических страниц. В админской части и кабинете есть свои модули. Yii::$app->controller->module->id показывает непосредственно модуль, чей контроллер работает, а мне нужно получить именно верхний модуль, соответственно, admin, cabinet или page

rak
Сообщения: 2033
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Как из файла layout/main.php узнать имя работающего модуля?

Сообщение rak » 2017.01.04, 18:31

может так?

Код: Выделить всё

$isAdminModule = Yii::$app->getModule('admin')->hasModule(Yii::$app->controller->module->id)
или так

Код: Выделить всё

Yii::$app->controller->module->module->id
ну это упрощенно, без проверок


SamGold
Сообщения: 7
Зарегистрирован: 2016.11.17, 21:00

Re: Как из файла layout/main.php узнать имя работающего модуля?

Сообщение SamGold » 2017.01.04, 19:00

rak писал(а):может так?

Код: Выделить всё

$isAdminModule = Yii::$app->getModule('admin')->hasModule(Yii::$app->controller->module->id)
 
или так

Код: Выделить всё

Yii::$app->controller->module->module->id
ну это упрощенно, без проверок
Спасибо . Это можно использовать. С учетом того, что у модуля admin есть и свои контроллеры, надо два запроса делать, на сам admin и на принадлежность модуля к модулю admin

Ответить