2014-01-20 32 views
0

我有一个扩展AppController的ItemsController。 要处理我的网站菜单,我使用了menuhelper。 不过,我在the documentation看到,你必须添加你的助手在一个阵列控制器(AppController中):cakephp - 如何正确定义蛋糕php的帮助

public $helpers = array('Form', 'Html', 'Menu'); 

奇怪的是,我忘了,我的菜单反正工作。 此外,你总是必须添加表单和Html额外的数组,因为否则他们不再工作。 然而,当我做这样的事情在我AppController中,我的助手形式仍然工作:

public $helpers = array('Menu'); 

如此看来,无论我做什么,它仍然有效,但我不知道为什么,我不像自动“魔术”:)

是否有我缺少的文档?

+0

显示你如何使用这些助手? – Anubhav

+0

那么,在添加视图中,我使用了“$ this-> Form-> create('something')”,它对我的​​菜单插件起作用,我称之为“$ this-> Menu-> render($ menu)”默认布局,这也适用。 – randomizer

回答

1

从2.x开始,您不需要指定应用程序或核心帮助程序。 这些是自动延迟加载。

您只需手动指定插件助手。

这就是说,我个人仍然总是描述我使用的帮助者,只是为了与插件一致。

+0

好的,所以文档不是最新的? “在CakePHP中启用助手可以让控制器知道它们,每个控制器都有一个$ helpers属性,它列出了视图中可用的助手,为了在视图中启用助手,可以将助手的名称添加到控制器的$ helpers数组:“似乎文档在这个问题上并不那么清楚。 – randomizer

+0

不,他们是正确的。正如我所提到的,仍然包含它们是很好的做法(即使它没有它也可能)。例子:如果你将一个助手移动到一个插件上,那么你需要找到它们可能需要的所有控制器并添加它,否则你只需搜索出现的地方并追加插件前缀即可。 – mark