在 Yii2 中更改视图中的布局文件

2022-08-30 18:51:24

我正在使用Yii2做一个小项目。

假设我在视图中有相同的布局(页眉,页脚)(例如),除了这个视图中的a。我想要一个不同的或没有页眉/页脚在这个文件中。我该怎么办仅从此视图文件中删除页眉/页脚。sitelogin.php

我所能做的就是在不同的视图中更改布局。是否可以在视图的单个文件中更改布局?


答案 1

在相对操作内部:

public function actionYourAction($id)
{

    $this->layout = 'yourNewLayout';

    return $this->render('yourView', [
        'model' =>$model,
    ]);
}

答案 2

我参加派对有点晚了,但你可以从你的视野中改变你的布局。您不必在控制器中声明它。我个人认为最好在视图中执行此操作,因为您以后可以轻松看到正在发生的事情。如果您进行HTML编辑,您将进入视图文件,并轻松查看它正在使用的布局。将此放入控制器中,您(或以后的某人)可能会错过嵌套到控制器操作中的布局更改。

由于在 Yii2 中指的是你的视图,而不是像在 Yii1 中那样引用你的控制器,所以旧的视图在你的视图中不再有效。$this$this->layout

现在,在 Yii2 中,您使用 从视图中引用控制器。$this->context

$this->context->layout = 'your-layout';

推荐