【发布时间】:2014-01-20 21:06:58
【问题描述】:
我正在做一个 cakephp 项目。我正在使用 View/Layouts/default.ctp 文件来存储我的页眉和页脚,这将适用于我在应用程序中的所有页面。 但是,还有另一种布局,我只想使用某些页面以及页眉和页脚。
如何让页面同时使用这两种布局?
【问题讨论】:
-
为什么要将两种布局放在同一页面中?
标签: cakephp
我正在做一个 cakephp 项目。我正在使用 View/Layouts/default.ctp 文件来存储我的页眉和页脚,这将适用于我在应用程序中的所有页面。 但是,还有另一种布局,我只想使用某些页面以及页眉和页脚。
如何让页面同时使用这两种布局?
【问题讨论】:
标签: cakephp
每次页面加载只能使用一种布局。但是,您可以将页眉和页脚代码放入 elements,然后在您的两种布局中都可以使用。
【讨论】:
您可以扩展视图。将页眉/页脚放入 View/Common/default.ctp 并扩展它。
$this->extend("/Common/default");
您还可以使用元素或块,具体取决于您的布局设置方式和您的需要。 Read more
【讨论】:
您可以根据您的逻辑从控制器或视图更改布局。
// from a controller
public function admin_view() {
// stuff
$this->layout = 'admin';
}
// from a view file
$this->layout = 'loggedin';
【讨论】:
You can use multiple layout..........
class IndexController extends AppController {
public function test1() {
$this->layout = 'layout1';
}
public function test2() {
$this->layout = 'layout2';
}
public function testn() {
$this->layout = 'layoutn';
}
}
【讨论】: