Кастомный элемент формы или Plugin by name xxx was not found in the registry

Когда-то давно я столкнулся с проблемой подключение tinyMCE редактора в качестве элемента формы. Я нашел в интернете руководство по интеграции этого замечательного редактора в Zend Framework.

С хелперами все работало замечательно, т.е. внутри шаблона можно было просто писать

$this->tinyMCE()->render();

и появлялся редактор 🙂

Однако, я привык к тому, чтобы делать инициализацию всех элементов формы при помощи компонента Zend_Form, чтобы впоследствии получить удобный механизм проверки всех элементов формы.

И здесь при создании нового элемента

// инициализация элементов формы

// ....

$this->createElement('tinyMCE', 'text');

появлялась ошибка

Plugin by name ‘TinyMce’ was not found in the registry; used paths: Zend_Form_Element_: Zend/Form/Element/

Тогда я только начинал знакомство с Zend Framework и убил много времени, чтобы побороть эту ошибку. Однако в итоге сделать этого не смог, выкрутился тем, что при создании элемента прописывал полное название класса

// инициализация элементов формы

// ....

$content = new Soulex_Form_Element_TinyMce('descr');

Соответсвенно TinyMce располагался в папке Soulex/Form/Element папки library.

Спустя некоторое время я начал делать свой хелпер для файлового менеджера. Файловый менеджер называется tinyBrowser.

И снова столкнулся с этой же самой проблемой.

Plugin by name tinyBrowser was not found in the registry

Поискав в интернете, снова увидел все теже самые статьи (люди спрашивали об интеграции tinyMce и ответа так не получали), когда я впервые столкнулся с этой ошибкой 😉

Не буду больше томить, решение оказалось как всегда простое. Достаточно ДО создания элемента прописать

public function init()

{

$this->addPrefixPath('Soulex_Form', 'Soulex/Form');

// инициализация элементов формы

}

Вот так все просто 😀

ps. В следующий раз выложу решение о том, как подключить свой файловый менеджер к форме в виде кастомного элемента.

Одна мысль о “Кастомный элемент формы или Plugin by name xxx was not found in the registry

  • 11 апреля 2015 в 13:50
    Permalink

    Огромнейшее тебе спасибо!!!
    Сам голову сломал в поисках решения 😀

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *