2011-03-01 3 views
3

Ce problème me rend vraiment fou. Lorsque j'ajoute ma vue Helper path dans le fichier bootstrap.zend view helper configure path (fonctionne dans bootstrap mais ne fonctionne pas dans application.ini)?

$view->addHelperPath(APPLICATION_PATH.'/../library/SiteLib/View/Helper/'); 

Cela fonctionne parfaitement bien. Mais quand je décale cela dans le fichier APPLICATION.INI (où il devrait être). Le simple ne fonctionne pas

resources.view[] = 
resources.view.helperPath.SiteLib_View_Helper_CssHelper = APPLICATION_PATH "/../library/SiteLib/View/Helper/" 

Je ne sais pas ce que je fais mal. Quelqu'un peut-il m'aider s'il vous plaît.

ici est moi classe d'aide

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

Pouvez-vous coller le message d'erreur complet que vous obtenez – Vika

+0

venez d'ajouter au-dessus de la question – Developer

+0

Vous avez vraiment besoin de renommer votre classe (comme Xerkus suggéré) et ajouter une ligne avec le nom de préfixe à votre 'application.ini', et jetez un oeil au message d'erreur après cela. – Vika

Répondre

3

Enfin, je figure le problème moi même.

I était écraser le Zend_View dans bootstrap

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

je viens déplacé le code ci-dessus dans application.ini et supprimer cette fonction de fichier d'amorçage. et ça marche maintenant. :)

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

cela ne fonctionne pas je reçois la même erreur Exception Uncaught 'Zend_Loader_PluginLoader_Exception' avec le message 'Plugin par nom' CssHelper ' – Developer

+0

Vérifiez si votre fichier d'aide ont encodage UTF8 avec octet de commande (BOM) J'ai passé 2 jours une fois pour comprendre IT out. Bien que plus probable ce n'est pas le cas. – Xerkus

+0

Tout ce que j'ai dans mon fichier d'aide est cette classe Zend_View_Helper_CssHelper extends Zend_View_Helper_Abstract { fonction cssHelper() {} } – Developer

1

Vous devez spécifier le préfixe, pas le nom de la classe réelle d'une seule aide:

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

Cela ne fonctionne pas non plus. – Developer