我如何在特定的 yii2 视图中关闭主题?

How I can to turn off a theme in a especific yii2's view?

我正在使用带有 bootstrap 主题的 yii2,主题很棒,但我需要在控制器的一个特定视图中关闭。我该怎么做?

如果你想在控制器中使用更改布局:

public $layout = 'YOUR_LAYOUT_NAME';

或在专项行动中:

public function actionView(){
   $this->layout = 'YOUR_LAYOUT_NAME';

阅读 $layout 属性 http://www.yiiframework.com/doc-2.0/yii-base-controller.html#$layout-detail

您可以通过覆盖主题映射在运行时更改主题。根据您要使用的路由调整这些,因此如果您使用不同的主题,则将 pathMap 和 baseUrl 指向该主题,否则只需指向原始的 yii2 视图文件;

$this->getView()->theme = Yii::createObject([
    'class' => '\yii\base\Theme',
    'pathMap' => ['@app/views' => '@app/views'],
    'baseUrl' => '@web/views',
]);