0

私の問題は、ビュースクリプトからビューヘルパーを呼び出すと、次の行を介して構成ファイルにすべての情報パスを適切に追加したにもかかわらず、呼び出すことができないということです。

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

4

1 に答える 1

1

あなたはこれができますか:

ビュースクリプトで

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

あなたのビューインスタンスはある時点で置き換えられたと思います。モジュールのブートストラップにビュー リソースがある可能性がありますか?

または、他の明らかな間違いである可能性があります。あまりにも明白なので、あなたはそれを考えることはありません

ところで、その _initViewHelpers メソッドを削除してください。Zend_Application_Resource_View はそのためにうまく機能します。この方法を使用する場合は、正しく使用してください。

$this->bootstrap('view');
$view = $this->getResource('view');
//whatever
于 2011-06-20T06:57:54.060 に答える