1

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

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

可以通过以下方式为模块设置布局

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

$this->layout = 'userLayout';

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

请提出可能的解决方案..

4

1 回答 1

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",
        ],
    ],
于 2015-03-25T07:01:32.790 回答