我对如何在cakephp中为每个页面建立自己的布局感到困惑。目前,有一个default.ctp我已修改为具有我的主要布局并包含$ content_for_layout代码。所以,无论我在pages \ home.ctp中输入什么内容都会得到反映。但是我希望有一个登录和注册布局以及它们各自的页面。我怎样才能实现这一目标?我应该编辑default.ctp吗?或者为我的主页面创建另一个布局?
请协助。
答案 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?或者为我的主页面创建另一个布局?
是的,它可供您修改。如果您想要更多布局,可以在该文件夹中创建更多布局并在控制器中指定布局(否则,默认为“默认”布局)。