基于主题的模块在yii2中的视图

时间:2015-03-24 12:07:24

标签: yii2 yii2-advanced-app

我正在使用Yii2高级模板。我在 / frontend / modules / 目录中创建了用户模块。如果没有主题集成,则从 / modules / user / views / 目录调用视图。

目前,我已在 / frontend 目录中创建了三个不同的主题。所以我想从主题目录中访问用户模块的视图。怎么可能?

可以通过

设置模块的布局
  

$ this-> layoutPath = \ Yii :: getAlias('/ themes / classic / views / layouts /');

     

$ this-> layout ='userLayout';

但是如何从模块的主题目录访问视图?

请建议可能的解决方案..

1 个答案:

答案 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",
        ],
    ],