Php 如何通过主题覆盖视图?(yii2)
我需要重写一个视图文件,比如“pathMap”=>['@dektrium/user/views'=>'@app/views/site'],我遵循了手册(),但无论我做什么,我看到的都是旧视图。baseUrl或basePath可能有问题,但我不确定该怎么办 frontend/config/main.php:Php 如何通过主题覆盖视图?(yii2),php,view,yii,yii2,Php,View,Yii,Yii2,我需要重写一个视图文件,比如“pathMap”=>['@dektrium/user/views'=>'@app/views/site'],我遵循了手册(),但无论我做什么,我看到的都是旧视图。baseUrl或basePath可能有问题,但我不确定该怎么办 frontend/config/main.php: 'components' => [ 'request' => [ 'csrfParam' => '_csrf-frontend',
'components' => [
'request' => [
'csrfParam' => '_csrf-frontend',
'baseUrl' => '/',
],
// .................
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'/' => 'site/index',
'<action:\w+>' => 'site/<action>',
],
],
'view' => [
'class' => 'yii\web\View',
'theme' => [
//'basePath' => '@app/themes/basic',
//'baseUrl' => '@app/views/site',
'pathMap' => [
'@dektrium/user/views' => '@app/views/site'
]
]
]
//.................
]
'modules' => [
'user' => [
'class' => 'dektrium\user\Module',
'admins' => ['admin'],
'modelMap' => [
'User' => 'common\models\User',
],
]
我在地址上打开页面,比如mydomain.test/user/register(以防万一)
我还尝试将“视图”部分放在common/config/main.php和模块的组件中。尝试创建主题文件夹并在其中放置新视图,但似乎没有任何效果好的,我终于修复了它
'view' => [
'class' => 'yii\web\View',
'theme' => [
'basePath' => '@frontend/views/site',
'baseUrl' => '@frontend/views/site',
'pathMap' => [
'@dektrium/user/views/registration' => '@frontend/views/site',
]
]
]
好的,我终于修好了
'view' => [
'class' => 'yii\web\View',
'theme' => [
'basePath' => '@frontend/views/site',
'baseUrl' => '@frontend/views/site',
'pathMap' => [
'@dektrium/user/views/registration' => '@frontend/views/site',
]
]
]