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