Cakephp为同一页面使用多个布局

时间:2014-01-16 09:59:40

标签: cakephp

我正在使用cakephp开展一个项目。我正在使用View / Layouts / default.ctp文件来存储我的页眉和页脚,这将适用于我在应用程序中的所有页面。 但是,还有另一种布局,我只想使用某些页面,以及页眉和页脚。

如何让页面同时使用两种布局?

4 个答案:

答案 0 :(得分:1)

每个页面加载只能使用一个布局。但是,您可以将页眉和页脚代码放入elements,然后在两个布局中都可以使用。

答案 1 :(得分:0)

您可以扩展视图。将页眉/页脚放在View / Common / default.ctp中并扩展它。

$this->extend("/Common/default");

您还可以使用元素或块,具体取决于布局的设置方式和需要。 Read more

答案 2 :(得分:0)

您可以根据逻辑从控制器或视图更改布局。

// from a controller
public function admin_view() {
    // stuff
    $this->layout = 'admin';
}

// from a view file
$this->layout = 'loggedin';

供参考:http://book.cakephp.org/2.0/en/views.html#layouts

答案 3 :(得分:0)

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';
    }

}