在插件控制器CakePHP中使用帮助器

时间:2014-02-12 19:58:15

标签: cakephp helper

我已经加了一个插件。插件中的控制器工作正常。在Controller中我想在Controller中使用HtmlHelper。

但......控制人员抱怨:$this->Html停留null

插件中的控制器包含:public $helpers = array('Html'); 出于调试目的,我已将位置更改为$ helpers到AppController。 在文件夹控制器中,我添加了TestsController,其范围从AppController开始。他有一个有效的HtmlHelper。

我的插件控制器也来自AppController

插件控制器:
- UserManagerAppController从AppController扩展 - UsercomponentsController从UserManagerAppController扩展

Normal Controller文件夹:
- AppController从Controller

扩展

为什么UsercomponentsController不包含HtmlHelper?

1 个答案:

答案 0 :(得分:0)

首先,public $helpers = array('Html');未加载控制器中的帮助程序,它会将其加载到您的控制器呈现的视图文件中。您将能够在呈现的视图中使用$ this-> Html引用,而不是任何控制器操作。这与您是否尝试在插件控制器或普通控制器中加载Helper无关。

检查Cake Docs中的包树,并阅读有关Component和Helper之间差异的更多信息。您可以在控制器中使用Component,在视图中使用Helper。您不应该在控制器中使用HtmlHelper(它有助于创建HTML表单元素)。这将打破MVC范式。