我正在使用Yii2高级模板。我在 / frontend / modules / 目录中创建了用户模块。如果没有主题集成,则从 / modules / user / views / 目录调用视图。
目前,我已在 / frontend 目录中创建了三个不同的主题。所以我想从主题目录中访问用户模块的视图。怎么可能?
可以通过
设置模块的布局$ this-> layoutPath = \ Yii :: getAlias('/ themes / classic / views / layouts /');
$ this-> layout ='userLayout';
但是如何从模块的主题目录访问视图?
请建议可能的解决方案..
答案 0 :(得分:2)
我找到了解决问题的方法。我已经实现了以下方式。
在init()方法之后在Module.php中添加了布局路径。
public function init()
{
parent::init();
$this->layoutPath = \Yii::getAlias('@app/themes/classic/views/layouts/');
$this->layout = 'userLayout';
}
和
在main.php配置文件中添加了模块视图的主题配置
'view' => [
'theme' => [
'pathMap' => [
'@app/views' =>'@app/themes/classic/views/',
'@app/modules'=>'@app/themes/classic/modules',
'@app/widgets'=>'@app/themes/classic/widgets'
],
'baseUrl'=>"/themes/classic",
],
],