Когда-то давно я столкнулся с проблемой подключение 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. В следующий раз выложу решение о том, как подключить свой файловый менеджер к форме в виде кастомного элемента.
Огромнейшее тебе спасибо!!!
Сам голову сломал в поисках решения 😀