yii2-usuario:如何覆盖登录视图?

问题描述 投票:0回答:1

前段时间我用基于 Dektrium 的登录表单开发了一个 Yii2 应用程序。由于它已被弃用,我搬到了 2Amigos 的 yii2-usuario,但现在我自己的

login.php
视图根本没有渲染,被 yii2-usuario 自动替换了。

根据 yii2-usuario,我应该使用以下内容覆盖此登录视图:

'components' => [
    'view' => [
        'theme' => [
            'pathMap' => [
                '@Da/User/resources/views' => '@app/views/user'
            ]
        ]
    ]
]

据说这应该有利于任何自己制作的视图,只有在没有找到自己制作的视图时才用 yii2-usuario 的视图替换它们,但在我的例子中 Yii2 抛出以下内容:

yii\base\ViewNotFoundException: The view file does not exist: /myapp/vendor/2amigos/yii2-usuario/src/User/resources/views/_alert.php in /myapp/vendor/yiisoft/yii2/base/View.php:233
Stack trace:
#0 /myapp/vendor/yiisoft/yii2/base/View.php(156): yii\base\View->renderFile()
#1 /myapp/views/user/security/login.php(27): yii\base\View->render()
#2 /myapp/vendor/yiisoft/yii2/base/View.php(347): require('/usr/local/shar...')
#3 /myapp/vendor/yiisoft/yii2/base/View.php(257): yii\base\View->renderPhpFile()
#4 /myapp/vendor/yiisoft/yii2/base/View.php(156): yii\base\View->renderFile()
#5 /myapp/vendor/yiisoft/yii2/base/Controller.php(407): yii\base\View->render()
#6 /myapp/vendor/2amigos/yii2-usuario/src/User/Controller/SecurityController.php(172): yii\base\Controller->render()
#7 [internal function]: Da\User\Controller\SecurityController->actionLogin()
#8 /myapp/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()
#9 /myapp/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams()
#10 /myapp/vendor/yiisoft/yii2/base/Module.php(552): yii\base\Controller->runAction()
#11 /myapp/vendor/yiisoft/yii2/web/Application.php(103): yii\base\Module->runAction()
#12 /myapp/vendor/yiisoft/yii2/base/Application.php(384): yii\web\Application->handleRequest()
#13 /myapp/web/index.php(12): yii\base\Application->run()
#14 {main}

有什么想法吗?

php view yii2 overriding
1个回答
0
投票

找到一个解决方法复制

resources/views/shared/_alert.php
一个级别,但我觉得这不应该是这样的。

© www.soinside.com 2019 - 2024. All rights reserved.