在 Yii2 中更改视图中的布局文件
2022-08-30 18:51:24
我正在使用Yii2做一个小项目。
假设我在视图中有相同的布局(页眉,页脚)(例如),除了这个视图中的a。我想要一个不同的或没有页眉/页脚在这个文件中。我该怎么办仅从此视图文件中删除页眉/页脚。site
login.php
我所能做的就是在不同的视图中更改布局。是否可以在视图的单个文件中更改布局?
我正在使用Yii2做一个小项目。
假设我在视图中有相同的布局(页眉,页脚)(例如),除了这个视图中的a。我想要一个不同的或没有页眉/页脚在这个文件中。我该怎么办仅从此视图文件中删除页眉/页脚。site
login.php
我所能做的就是在不同的视图中更改布局。是否可以在视图的单个文件中更改布局?
在相对操作内部:
public function actionYourAction($id)
{
$this->layout = 'yourNewLayout';
return $this->render('yourView', [
'model' =>$model,
]);
}
我参加派对有点晚了,但你可以从你的视野中改变你的布局。您不必在控制器中声明它。我个人认为最好在视图中执行此操作,因为您以后可以轻松看到正在发生的事情。如果您进行HTML编辑,您将进入视图文件,并轻松查看它正在使用的布局。将此放入控制器中,您(或以后的某人)可能会错过嵌套到控制器操作中的布局更改。
由于在 Yii2 中指的是你的视图,而不是像在 Yii1 中那样引用你的控制器,所以旧的视图在你的视图中不再有效。$this
$this->layout
现在,在 Yii2 中,您使用 从视图中引用控制器。$this->context
$this->context->layout = 'your-layout';