编程语言
首页 > 编程语言> > CakePHP:如何直接在布局文件中的所有视图中显示相同的查询数据

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