gpt4 book ai didi

php - CakePHP - 创建 2 个 $content_for_layout 变量

转载 作者:搜寻专家 更新时间:2023-10-31 21:14:35 24 4
gpt4 key购买 nike

我正在为我的公司进行全面的重新设计,但我遇到了一个问题。如果脱离 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'。这样我就可以将 header 和 nav 放在元素中,并只将它们保留在布局模板中。问题是我没有充分利用模板,因为我仍然要重复很多 html。

理想情况下,我希望有 2 个 $content_for_layout。一个用于第一页下方的内容,另一个用于第二页的内容。这样我就可以充分利用布局模板。然后在我的页面上会有一个部分,我可以在其中放置透视内容。在我对这个问题的研究中,我找到了一些解决方案。

我不确定这些是否是最佳解决方案,或者是否能满足我的需求。我是一名设计师和前端开发人员,所以我对 Php 的了解有限。我对Cake的了解更是有限。我正在寻找最简单的解决方案。

最佳答案

如果可行(但我假设不行),请使用最新版本的 Cake(2.2.1 稳定版)。从 2.1 开始,Cake 支持 View Blocks ,可以解决您遇到的确切问题。

如果不可能,您可以从您的 Controller 设置一些变量(可能是渲染的元素,或者更好的是,您必须转发到从布局渲染的元素的变量),并在任何您想要的地方回显在布局上。您使用 Controller::set 从 Controller 传递到 View 的所有变量也将可用于布局。

关于php - CakePHP - 创建 2 个 $content_for_layout 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11804071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com