CakePHP: используйте помощник плагина в элементе плагина

Можно ли использовать помощник плагина в элементе плагина в CakePHP 2.x?

Мой каталог выглядит так:

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

Что я хочу сделать, так это использовать виджет mywidget.ctp где-нибудь в моем проекте. В виджете есть вызов requestAction() для получения данных от контроллера. Эти данные должны быть отображены с использованием некоторых методов FooHelper. Загрузка его в контроллер здесь не помогает.

Я думаю, это можно сделать, загрузив FooHelper в массив $helpers моего AppController, но я не хочу, чтобы он загружался повсюду на сайте. Есть ли другая возможность? Я уже нашел обходной путь с помощью ClassRegistry::init(), но, похоже, он не работает с плагинами?

Спасибо за вашу помощь!


person bfncs    schedule 13.08.2012    source источник


Ответы (1)


Вы должны иметь возможность загружать помощников в представлении через $this->Helpers->load('MyPlugin.Foo'); в 2.0+, а затем использовать их обычно через $this->Foo->someMethod();

person tigrang    schedule 13.08.2012
comment
Большое спасибо за быстрый ответ, работает отлично! На самом деле, я уже пробовал это, и это не сработало из-за опечатки в имени класса. Mea culpa, помидоры на глазах ;-) - person bfncs; 13.08.2012