2011-03-01 5 views
3

この問題は本当に私を狂ってしまいます。 ビューヘルパーパスをブートストラップファイルに追加するとき。zend view helper configure path(ブートストラップでは動作しますが、application.iniでは動作しません)?

$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

はあなたがちょうどあなたが本当に(Xerkusが提案同じように)あなたのクラスの名前を変更する必要が – Vika

+0

を取得している完全なエラーメッセージを貼り付けにプレフィックス名と行を追加することができ、あなたの'application.ini'を実行し、それ以降のエラーメッセージを見てください。 – Developer

+0

質問して上に追加 – Vika

答えて

3

は最後に、私はこの問題を把握します私自身。

私はちょうどのapplication.iniに上記のコードをシフトし、ブートストラップファイルからその機能を削除し、ブートストラップ

protected function _initView() 
    { 
      $view = new Zend_View($this->getOptions()); 
      $view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper"); 
} 

にZend_Viewのを上書きしました。それは今働いています。 :)

resources.view.helperPath.ZendX_JQuery_View_Helper = APPLICATION_PATH "/ZendX/JQuery/View/Helper" 
1
resources.view.helperPath.SiteLib_View_Helper_ = APPLICATION_PATH "/../library/SiteLib/View/Helper/" 
+0

同じエラーが発生していますUncaught例外 'Zend_Loader_PluginLoader_Exception'メッセージ 'プラグイン名で' CssHelper ' – Developer

+0

ヘルパーファイルにバイトオーダーマーク(BOM)のUTF8エンコーディングがあるかどうかを確認しますそれを出す。これはそうではない可能性が高いですが。 – Xerkus

+0

私はヘルパーファイルにこのクラスを持っています。Zend_View_Helper_CssHelperはZend_View_Helper_Abstractを拡張します。 { function cssHelper(){} } – Developer

1

です:

resources.view[] = 
resources.view.helperPath.SiteLib_View_Helper = APPLICATION_PATH "/../library/SiteLib/View/Helper/" 
+0

これは動作しません。 – Developer

関連する問題