Templates 在Cakephp中使用布局/元素

Templates 在Cakephp中使用布局/元素,templates,cakephp,views,elements,layout,Templates,Cakephp,Views,Elements,Layout,我正在使用Cakephp开发一个webapp。我已经为网站创建了默认布局。我创建了页眉、页脚、内容等部分 现在,我的内容部分中的一些页面具有相同的结构。这些是控制器的一部分,为每个页面定义了各种视图。我应该在这里使用什么视图模板?布局还是元素 如果我使用布局,我将使用控制器来决定我将使用的布局,但这不会改变整个网站的布局吗 关于这确实是一个偏好问题。我试着把布局想象成页面的“结构”——页眉,左导航的占位符,顶部导航的占位符,页脚。那种事。我在布局中定义了这些部分 我建议“我的内容部分中具有相同结

我正在使用Cakephp开发一个webapp。我已经为网站创建了默认布局。我创建了页眉、页脚、内容等部分

现在,我的内容部分中的一些页面具有相同的结构。这些是控制器的一部分,为每个页面定义了各种视图。我应该在这里使用什么视图模板?布局还是元素

如果我使用布局,我将使用控制器来决定我将使用的布局,但这不会改变整个网站的布局吗


关于

这确实是一个偏好问题。我试着把布局想象成页面的“结构”——页眉,左导航的占位符,顶部导航的占位符,页脚。那种事。我在布局中定义了这些部分

我建议“我的内容部分中具有相同结构的页面”成为您的布局。正如您所提到的,您可以在控制器中切换布局,但是任何类似结构的页面(删除内容后看起来彼此相同的页面)我都会共享一个布局

布局切换的另一个例子是针对登录用户和匿名用户。对于登录用户,网站经常在顶部显示“Welcome,$name”消息,以及指向我的帐户、注销等的链接。我经常发现自己对登录用户和非登录用户使用不同的布局。另外,在这种情况下,我使用beforeFilter()方法设置给定控制器的布局,因为我知道在执行回调时用户是否登录


很抱歉说得太多,但这是一个灰色区域(当使用布局与不同的元素时)。

谢谢你的闲话:)。我的问题之一是,所谓的页面(具有相同的结构)的内容结构相同。页眉、页脚、菜单和所有内容仍然与主布局相同。在这种情况下,我可以在布局中使用布局吗?我会将它们放入元素中,您可以从布局中包括这些元素。从语义上讲,它只是有一点意义——布局是框架,它可以由多个组件(元素)组成。它稍微混合了一点隐喻,将一个布局包含在另一个布局中。