我正在为我的公司进行全面的重新设计,但遇到了问题。我们正在使用 Cake Framework (1.2.0.7296 RC2) 进行构建,我正在尝试找到创建可靠布局模板的最佳解决方案。我创建的设计在每个页面中都有多个包装器。下面是代码的简化版本。
<body style="background:url(somebackground.png);">
<div class="page">
<!--Page is used to constrain the content within a specific width-->
<div class="header">
<div class="nav">
</div><!--End Nav-->
</div><!--End Header-->
<div class="content">
<!--This area contains a slideshow and other info that varies from page-to-page-->
</div><!--End Content-->
</div><!--End Page-->
<div class="wrapper" style="background:url(someotherbackground.png);">
<div class="page">
<div class="content">
<!--Additional content-->
</div><!--End Content-->
</div><!--End Page-->
</div><!--End Wrapper-->
</body>
问题是在 Cake 布局中只有一个 $content_for_layout,它适用于大多数网站。但是,由于我的结构方式,很难充分利用布局模板。我想到的唯一解决方案如下。
- 关闭标题后的顶部 div class='page ,然后在其下方添加另一个 div class='page' 。这样我就可以将标题和导航放在元素中,并将它们仅保留在布局模板中。问题是我没有充分利用模板,因为我仍然要重复很多 html。
理想情况下,我想要 2 个 $content_for_layout。一个用于第一页下方的内容,另一个用于第二页的内容。这样我就可以充分利用布局模板。然后在我的页面上,我会有一个可以放置透视内容的部分。在我对这个问题的研究中,我找到了一些解决方案。
- http://cakephp.1045679.n5.nabble.com/Multiple-content-for-layout-td1281556.html
- http://bakery.cakephp.org/articles/rtconner/2007/08/28/anything_for_layout-making-html-from-the-view-available-to-the-layout
我不确定这些是否是最好的解决方案,或者是否会给我我正在寻找的东西。我是一名设计师和前端开发人员,所以我对 PHP 的了解有限。我对Cake的了解就更有限了。我正在寻找最简单的解决方案。