CakePHP是否可以将动态数据传递给元素,以便在整个站点中使用?

CakePHP是否可以将动态数据传递给元素,以便在整个站点中使用?,cakephp,cakephp-2.0,Cakephp,Cakephp 2.0,对于我正在处理的这个项目,标题包含菜单项,这些菜单项具有下拉列表,显示与所选菜单项相关的项目。这些项目旨在直接从数据库中提取,因此可以在需要时添加/删除项目 我的问题是,当我将一个元素与CakePHP一起使用时,这将如何工作?我知道元素是一种可重用代码,但我不确定逻辑代码应该放在哪里?元素是否使用自己的控制器,或者我是否必须将代码添加到项目中活动的每个控制器 干杯 图元基本上是一个小视图,可以包含在其他视图中。可以为元素创建控制器,也可以将逻辑添加到包含元素的控制器中 我有一个dinamic菜单

对于我正在处理的这个项目,标题包含菜单项,这些菜单项具有下拉列表,显示与所选菜单项相关的项目。这些项目旨在直接从数据库中提取,因此可以在需要时添加/删除项目

我的问题是,当我将一个元素与CakePHP一起使用时,这将如何工作?我知道元素是一种可重用代码,但我不确定逻辑代码应该放在哪里?元素是否使用自己的控制器,或者我是否必须将代码添加到项目中活动的每个控制器


干杯

图元基本上是一个小视图,可以包含在其他视图中。可以为元素创建控制器,也可以将逻辑添加到包含元素的控制器中

我有一个dinamic菜单元素,包含页面所代表的公司,我在布局中使用它,因为它需要在每个页面中显示

我所做的是:在beforeFilter中的应用程序控制器中(您可以使用before render或在渲染视图之前调用的任何东西),我执行逻辑部分。像这样的

$this->loadModel('Company');
$companies = $this->Company->find('all');
$this->set('companies', $companies);
这样,您就可以在视图/布局/元素中使用它


希望这对您有所帮助:)

您将使用元素作为要在每个页面上显示的视图片段。您不希望与MVC决裂,在视图中混合业务逻辑

在元素内部,使用requestAction()调用控制器操作。阅读本手册,它将解释如何使用requestAction()

听起来好像你想建立一个菜单或什么的。因此,调用处理菜单的控制器并从模型中获取数据