CakePHP:如何直接在布局文件中的所有视图中显示相同的查询数据
作者:互联网
我正在使用CakePHP创建一个网站;现在的问题是,我想在网站页脚(在所有页面上都可见)中显示查询的结果(例如“最受欢迎的产品”).
CakePHP实现此目的的正确方法是什么?
此刻,我在Product控制器中创建了一个mostPopularList()和一个仅显示< ul>的most-popular-list.ctp视图.列表,以为可以将这个文件的输出包含在我的布局(default.ctp)中,但是我没有找到CakePHP的方法.
谢谢!
解决方法:
使用视图单元格或在AppControllers beforeRender()回调中调用查询并将其设置为视图.从文档中获取:
View cells are small mini-controllers that can invoke view logic and render out templates. They provide a light-weight modular replacement to requestAction(). The idea of cells is borrowed from cells in Ruby, where they fulfill a similar role and purpose.
> View Cells
> Controller::beforeRender()
如果实际上在每个页面上都需要这样做,我可能会去做beforeRender()回调,它很容易做并且在全局范围内进行更改.
标签:cakephp,cakephp-3-0,php 来源: https://codeday.me/bug/20191119/2035114.html