【问题标题】:CakePHP: Use a plugin helper in a plugin elementCakePHP:在插件元素中使用插件助手
【发布时间】:2012-08-09 10:26:55
【问题描述】:

是否可以在 CakePHP 2.x 的插件元素中使用插件助手?

我的目录如下所示:

/app/Plugin/
  MyPlugin/
    Controller/
      MyController.php
    View/
      Elements/
        mywidget.ctp
      Helper/
        FooHelper.php

我想做的是在我的项目中的某个地方使用小部件 mywidget.ctp。在小部件中,有一个 requestAction() 调用来从控制器获取数据。必须使用 FooHelper 中的某些方法来呈现此数据。在控制器中加载它在这里没有帮助。

我认为,应该可以通过在我的 AppController 的 $helpers 数组中加载 FooHelper 来做到这一点,但我不希望它被加载到网站上的任何地方。有没有其他的可能?我已经找到了使用 ClassRegistry::init() 的解决方法,但这似乎不适用于插件?

感谢您的帮助!

【问题讨论】:

    标签: cakephp cakephp-2.0 cakephp-2.1 helpers view-helpers


    【解决方案1】:

    您应该能够在 2.0+ 中通过 $this->Helpers->load('MyPlugin.Foo'); 在视图中加载帮助程序,然后通过 $this->Foo->someMethod(); 正常使用它

    【讨论】:

    • 非常感谢您的快速回答,完美运行!实际上,我已经尝试过了,但由于类名中的错字,它不起作用。过失,我眼睛上的西红柿;-)
    猜你喜欢
    • 2023-03-27
    • 2014-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    • 2015-03-28
    • 1970-01-01
    相关资源
    最近更新 更多