Я работаю над полным редизайном своей компании и столкнулся с проблемой. Мы строим if на основе 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 еще более ограничены. Я ищу самое простое решение.