Пишу код
$this->render('@vendor/dektrium/yii2-user/views/security/login')
Выдаёт
View not Found – yii\base\ViewNotFoundException
The view file does not exist: D:\OPENSERV2\OpenServer\domains\news-site2\views\_alert.php
Как вывести представление из модуля(из папки vendor)
Re: Как вывести представление из модуля(из папки vendor)
Правильно, потому что внутри у него render('_alert'), а он ищет по пути текущего модуля. Текущий модуль - ваше приложение. Вот от него и отсчитывает пути, ничего не находит.
Можно попробовать так закостылить:
Хотя не знаю, зачем вообще так делать, ведь можно просто скопировать себе вьюшки модуля в любую удобную папку.
Можно попробовать так закостылить:
Код: Выделить всё
$appViewPath = Yii::$app->controller->module->getViewPath();
Yii::$app->controller->module->setViewPath("@vendor/dektrium/yii2-user/views");
$this->render('@vendor/dektrium/yii2-user/views/security/login');
Yii::$app->controller->module->setViewPath($appViewPath);
Re: Как вывести представление из модуля(из папки vendor)
Зачем писать такие костыли?
в конфиг в components:
Теперь в папке views создаешь папку user, и в ней кидаешь виды модуля, для регистрации такой путь:
views/registration/register.php
И в нём уже делаешь форму как тебе нужно))
в конфиг в components:
Код: Выделить всё
'view' => [
'theme' => [
'pathMap' => [
'@app/views' => [
'@dektrium/user/views'
],
'@dektrium/user/views' => '@app/views/user'
],
],
],
views/registration/register.php
И в нём уже делаешь форму как тебе нужно))