基于主题的模块&x27;yii2中的s视图

基于主题的模块&x27;yii2中的s视图,yii2,yii2-advanced-app,Yii2,Yii2 Advanced App,我正在使用Yii2高级模板。我已经在/frontend/modules/目录中创建了用户模块。如果没有主题集成,将从/modules/user/views/目录调用视图 目前,我在/frontend目录中创建了三个不同的主题。因此,我想从用户模块的主题目录访问视图。怎么可能呢 可以通过以下方式设置模块的布局: $this->layoutPath=\Yii::getAlias('/themes/classic/views/layouts/') $this->layout='userLayout'

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

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

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

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

$this->layout='userLayout'

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


请提出可能的解决办法。

我找到了问题的解决办法。我已经实现了以下方法

在init()方法之后的Module.php中添加了布局路径

在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",
        ],
    ],

您是否尝试设置布局路径和布局?它起作用了,还是你得到了一些错误?请指定。它对我有效,但视图是从模块/视图目录渲染的。我想从/frontend/theme/classic中的主题目录渲染视图。请尝试使用以下方法设置路径:setLayoutPath()和setViewPath(),以了解更多详细信息检查此链接:尝试此答案
'view' => [
        'theme' => [
          'pathMap' => [
              '@app/views' =>'@app/themes/classic/views/',
              '@app/modules'=>'@app/themes/classic/modules',
              '@app/widgets'=>'@app/themes/classic/widgets'

          ],
          'baseUrl'=>"/themes/classic",
        ],
    ],