嗨我的问题是相当的,当我从视图脚本调用一个视图助手时,它无法被调用 虽然我通过这一行正确添加了配置文件的所有信息路径:
resources.view.helperPath.ZF_View_Helper_="ZF/View/Helper/"
我也注册了boosttap文件中的助手
function _initViewHelpers(){
$view = new Zend_View();
$view->addHelperPath('ZF/View/Helper','ZF_View_Helper');
$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
$viewRenderer->setView($view);
Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
}
但是仍然会打印出这条错误消息:
Application error
Exception information:
Message: Plugin by name 'OutputHelper' was not found in the registry; used paths:
Zend_View_Helper_: Zend/View/Helper/
它不包含预期的自定义视图助手路径;
视图助手的路径是:library / ZF / View / Helper / OutputHelper.php
答案 0 :(得分:1)
$view = Zend_Controller_Front::getInstance()->getParam('bootstrap')->getResource('view');
var_dump($this === $view);
var_dump($view->getHelperPaths());
exit;
我认为您的视图实例会在某些时候被替换。 可能是模块的bootstrap有视图资源吗?
或者它可能是其他明显的错误。如此明显,所以你永远不会想到它
顺便删除_initViewHelpers方法。 Zend_Application_Resource_View工作得很好。 如果您使用此方法,请正确使用它,例如:
$this->bootstrap('view');
$view = $this->getResource('view');
//whatever