视图脚本无法识别zend框架中的视图助手

问题描述 投票:0回答:1

我的问题是相当的,当我从视图脚本调用视图助手时,无法调用它尽管我通过此行将所有信息路径正确地添加到配置文件中:

resources.view.helperPath.ZF_View_Helper_="ZF/View/Helper/"

我也在引导程序文件中注册了帮助程序

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

php zend-framework view-helpers
1个回答
1
投票
您可以这样做:

在脚本中查看

$view = Zend_Controller_Front::getInstance()->getParam('bootstrap')->getResource('view'); var_dump($this === $view); var_dump($view->getHelperPaths()); exit;

我认为您的视图实例在某些时候已被替换。可能是模块的引导程序具有视图资源? 

或者也可以是其他明显的错误。如此明显,所以您永远都不会想到它

btw删除该_initViewHelpers方法。 Zend_Application_Resource_View可以正常工作。如果您使用此方法,请正确使用它,例如:

$this->bootstrap('view'); $view = $this->getResource('view'); //whatever

© www.soinside.com 2019 - 2024. All rights reserved.