【问题标题】:CakePHP: How to show the same query data in all my views, directly in the layout fileCakePHP:如何在我的所有视图中直接在布局文件中显示相同的查询数据
【发布时间】:2015-12-15 08:37:05
【问题描述】:

我正在用 CakePHP 创建一个网站;现在的问题是我想在网站页脚(所有页面上都可见)中显示查询的结果(例如“最受欢迎的产品”)。

CakePHP 实现这一目标的正确方法是什么?

目前我在我的产品控制器中创建了一个mostPopularList() 和一个只输出<ul> 列表的most-popular-list.ctp 视图,我认为我可以在我的布局中包含这个文件的输出 (default.ctp) ,但我没有找到 CakePHP 的方法。

谢谢!

【问题讨论】:

    标签: php cakephp cakephp-3.0


    【解决方案1】:

    使用视图单元格或在 AppControllers beforeRender() 回调中调用查询并将其设置为视图。取自文档:

    视图单元是可以调用视图逻辑和渲染模板的小型微型控制器。它们为 requestAction() 提供了一个轻量级的模块化替换。单元的概念是从 Ruby 中的单元借来的,它们在其中发挥相似的作用和目的。

    如果真的每一个页面都需要这个,我可能会选择 beforeRender() 回调,这很容易实现并且可以全局更改。

    【讨论】:

    • 非常感谢,我学到了一些新的但必不可少的东西!我尝试了这两种方法,它们都奏效了 :) 最后我选择使用 Cell 来保持一切更干净。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多