我有一点奇怪的情况。我有视图,从这个视图我执行我的视图助手“convertingText”。此视图助手 (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");
在 Bootstrap.php - 查看助手转换文本在 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;
}