我正在使用Cakephp开发一个webapp。我已经为网站创建了默认布局。我创建了页眉,页脚,内容等部分。
现在我的内容部分中的一些页面具有相同的结构。这些是控制器的一部分,为每个页面定义了各种视图。我应该在这里使用什么视图模板?布局或元素?
如果我使用布局,我将使用控制器来决定我将使用的布局,但是不会改变整个网站的布局吗?
此致
答案 0 :(得分:1)
这确实是一个偏好问题。我尝试将布局视为页面的“结构” - 因此左侧导航的标题,占位符,顶部导航,页脚的占位符。那种事。我在布局中定义了这些部分。
我建议将“我的内容部分中的页面[具有相同结构”]作为您的布局。正如您所提到的,您可以在控制器中切换布局,但任何类似的结构化页面(一旦删除内容后看起来彼此相同的页面)我就会共享一个布局。 / p>
布局切换的另一个例子可以是登录与匿名用户。对于登录用户,网站经常在顶部添加“欢迎,$ name”消息,以及指向“我的帐户”,“退出”等链接。我经常发现自己使用不同的布局登录到anon用户。此外,在这种情况下,我使用beforeFilter()方法来设置给定控制器的布局,因为我知道在执行该回调时用户是否登录。
很抱歉这是漫无目的,但这有点灰色(当使用布局与不同元素时)。