CakePHP中布局文件的模型访问

Ayo*_* M. 3 php cakephp

我正在使用CakePHP在CMS上工作,我想创建一个动态菜单,在用户可以访问的所有页面上都是相同的.所以我想在布局中创建(因为它在很多页面和视图之间共享)但我似乎不知道如何访问模型并从数据库获取数据来构建菜单.任何帮助表示赞赏.

dec*_*eze 16

那是因为在Cake中适当的MVC分离*你不应该从View访问Model.唯一可以访问数据的部分应该是Controller(通过Model),它将其交给View,它只显示数据.

因此,使用beforeFilter在全局回调AppControllerset()的数据可能是最好的选择.

在紧急情况下,您可以随时通过加载所需类的实例来访问任何地方ClassRegistry::init,但实际上您不应该这样做.


*实际上,在"正确的MVC"中,View直接从模型获取数据没有问题.您不应该在模板中这样做,但View相关代码可以很好地从模型中获取数据以可视化模型状态.它在Cake中并没有真正起作用,因为Cake不是正确的MVC,默认的Cake视图只是模板.