这个问题真的让我发疯了。 当我在bootstrap文件中添加我的视图Helper路径时。
$view->addHelperPath(APPLICATION_PATH.'/../library/SiteLib/View/Helper/');
它完美无缺。
但是当我将它转移到APPLICATION.INI文件时(它应该在哪里)。它很简单不起作用
resources.view[] =
resources.view.helperPath.SiteLib_View_Helper_CssHelper = APPLICATION_PATH "/../library/SiteLib/View/Helper/"
我不知道我做错了什么。 任何人都可以帮助我。
这是我的视图助手类
class Zend_View_Helper_CssHelper extends Zend_View_Helper_Abstract
{
function cssHelper() { }
}
Fatal error: Uncaught exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name 'CssHelper' in /web/zend/zendbase/library/Zend/Loader/PluginLoader.php on line 412
( ! ) Zend_Loader_PluginLoader_Exception: Plugin by name 'CssHelper' was not found in the registry; used paths: Login_View_Helper_: /web/zend/zendbase/application/modules/login/views/helpers/ ZendX_JQuery_View_Helper_: ZendX/JQuery/View/Helper/ Zend_View_Helper_: Zend/View/Helper/:/web/zend/zendbase/application/../library/SiteLib/View/Helper/:/web/zend/zendbase/application/modules/default/views/helpers/ in /web/zend/zendbase/library/Zend/Loader/PluginLoader.php on line 412
Call Stack
# Time Memory Function Location
1 0.0001 53524 {main}( ) ../index.php:0
2 0.0451 1467432 Zend_Application->run( ) ../index.php:60
3 0.0452 1467432 Zend_Application_Bootstrap_Bootstrap->run( ) ../Application.php:366
4 0.0452 1467432 Zend_Controller_Front->dispatch( ) ../Bo
答案 0 :(得分:3)
最后我自己弄清楚了问题。
我在bootstrap中覆盖了Zend_View
protected function _initView()
{
$view = new Zend_View($this->getOptions());
$view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper");
}
我刚刚在application.ini中移动了上面的代码,并从bootstrap文件中删除了该函数。它现在正在运作。 :)
resources.view.helperPath.ZendX_JQuery_View_Helper = APPLICATION_PATH "/ZendX/JQuery/View/Helper"
答案 1 :(得分:1)
resources.view.helperPath.SiteLib_View_Helper_ = APPLICATION_PATH "/../library/SiteLib/View/Helper/"
答案 2 :(得分:1)
您需要指定前缀,而不是单个帮助程序的实际类名:
resources.view[] =
resources.view.helperPath.SiteLib_View_Helper = APPLICATION_PATH "/../library/SiteLib/View/Helper/"