如何为cakephp设置多个布局?

时间:2011-08-01 07:58:41

标签: cakephp layout cakephp-1.3

我对如何在cakephp中为每个页面建立自己的布局感到困惑。目前,有一个default.ctp我已修改为具有我的主要布局并包含$ content_for_layout代码。所以,无论我在pages \ home.ctp中输入什么内容都会得到反映。但是我希望有一个登录和注册布局以及它们各自的页面。我怎样才能实现这一目标?我应该编辑default.ctp吗?或者为我的主页面创建另一个布局?

请协助。

2 个答案:

答案 0 :(得分:8)

您可以在Controller方法中指定不同的布局,例如

function index() {

  $this->layout='my_index_layout'; //app/views/layouts/my_index_layout.ctp

}

function view($id) {

    $this->layout = 'my_view_layout'; //app/views/layouts/my_view/layout.cpt

}

答案 1 :(得分:3)

  

但是我想要一个登录和注册布局以及它们各自的页面。

Cake中所理解的“布局”主要是页眉和页脚。这听起来像是指内容的布局。您可以在每个单独的视图文件中进行内容布局。

  

我是否应该编辑default.ctp?或者为我的主页面创建另一个布局?

是的,它可供您修改。如果您想要更多布局,可以在该文件夹中创建更多布局并在控制器中指定布局(否则,默认为“默认”布局)。