У меня странная ситуация. У меня есть вид, с этой точки зрения я выполняю свой вид помощника «converttingText». Этот помощник вида (FR_View_Helper_ConvertingText.php) находится в папке FR/View/HelperВид помощника доступен в одном контроллере, но недоступен из другого
Нет проблем, помощник работает.
Я создал 404 страницу. Это не простая страница html. Эта страница похожа на главную страницу - мы выводим некоторые элементы из базы данных. Я скопировал часть представления в новом представлении, и у меня проблема с конвертированием.
Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name 'ConvertingText' in /var/www/framework/zend/library/Zend/Controller/Plugin/Broker.php on line 336
Zend_Loader_PluginLoader_Exception: Plugin by name 'ConvertingText' was not found in the registry; used paths:
Zend_View_Helper_: Zend/View/Helper/:../application/views/helpers/:/var/www/current/application/modules/default/views/helpers/ in /var/www/framework/zend/library/Zend/Loader/PluginLoader.php on line 422
На Bootstrap.php мы имеем линию с добавлением папки для загрузки помощника
$view->addHelperPath("FR/View/Helper", "FR_View_Helper");
Я отлажен и выходных путями из класса метода нагрузки Zend_Loader_PluginLoader А на главной странице у меня есть разные пути (для загрузки плагин) из путей на странице 404.
На главной странице у меня есть эти пути
/var/www/current/modules/movies/views/helpers/ConvertingText.php
FR/View/Helper/ConvertingText.php
На 404 странице у меня есть эти пути
/var/www/current/application/modules/movies/views/helpers/ConvertingText.php
/var/www/current/application/modules/default/views/helpers/ConvertingText.php
../application/views/helpers/ConvertingText.php
Zend/View/Helper/ConvertingText.php
И один странный вопрос, если я добавить строку
$view->convertingText('', '');
после строки
$view->addHelperPath("FR/View/Helper", "FR_View_Helper");
in Bootstrap.php - просмотр вспомогательных преобразованийText работает на странице 404.
Почему такое поведение?
protected function _initView()
{
$view = new Zend_View();
$view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper");
$view->addHelperPath("DR/View/Helper", "DR_View_Helper");
$view->addHelperPath("FR/View/Helper", "FR_View_Helper");
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
$viewRenderer->setViewScriptPathSpec(":controller/:action.:suffix");
$viewRenderer->setView($view);
Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
Zend_View_Helper_PaginationControl::setDefaultViewPartial(array('pagination.phtml','default'));
Zend_Registry::set('view', $view);
return $view;
}
Работает только в том случае, если я добавлю этот код в свой ErrorController. (как этот $ this-> view-> addHelperPath (APPLICATION_PATH. "/../FR/View/Helper", "FR_View_Helper"); Замена относительного пути на абсолютный в Bootstrap.php дает тот же результат - main страницы, 404 страница - ошибка Спасибо за это – yAnTar
Какой код, где находится ваш контроллер ошибок? –
Извините, в моем предыдущем комментарии я разместил только часть текста. – yAnTar