0

我正在开发一个用 PHP 编写并使用 Yii 框架的现有项目。

我想创建一个全新的布局。在视图/布局下,我创建了一个名为 bootstrap.php 的文件,并在其中填充了我想用于所有页面的标准模板。我将要放置内容的行放在布局之间。

在控制器中,在渲染视图之前,我调用:

$this->layout = "//layouts/bootstrap";

我希望这会强制布局使用我的新布局,但它总是会恢复到 main.php 布局。

如果我也将其更改为不存在的布局 $this->layout = "//layouts/bootstrapxx";

它将以空白布局呈现页面(只是将内容直接输出到浏览器)。这向我表明 Yii 检测到了我的新布局的位置,但无论如何它仍在渲染旧布局。

如果有人可以帮助我弄清楚如何将布局设置为新布局,那将不胜感激。

谢谢

4

1 回答 1

2

Yii 布局应该相对于布局路径引用(默认为protected/views/layouts),它有一个 getter 和一个 setter,分别由getLayoutPath()setLayoutPath()确定。

因此,要让您的代码正常工作,只需参考bootstrapnot,//layouts/bootstrap

布局的应用在CControler::render()中处理

于 2013-09-19T16:57:11.730 回答