2011-10-07 3 views
3

J'ai une aide d'action de zend qui ne charge pas sporadiquement. Je reçois l'exception:Zend Action Helper non chargé * Parfois *

Action helper by name EditAction not found 

Des idées pourquoi parfois il le trouve, et parfois non?

J'ai modifié l'exception pour répertorier le contenu du répertoire d'assistance d'action et le fichier s'y trouve. Je l'ai aussi fait imprimer le contenu de l'assistant ... ça va aussi.

Des idées?

+3

Je pense que vous devez poster un code pour obtenir de l'aide. Pouvez-vous poster la classe et un exemple de la façon dont vous essayez de l'utiliser? – vascowhite

Répondre

0

semble ne pas enregistrer votre assistant EditAction auprès de Zend Controller Action helper broker avant de l'utiliser. Si votre EditAction se trouve à la bibliothèque/Mon/EditAction.php et la classe est appelée My_EditAction puis faire dans bootstrap

Zend_Controller_Action_HelperBroker::addHelper(new My_EditAction()); 
+0

J'utilise :: addPath() à la place ... n'est-ce pas suffisant? – Sev

0

:: addPath() devrait bien fonctionner aussi bien si vous avez la configuration du chemin correctement. Je recommanderais toujours d'utiliser :: addHelper plutôt que addPath() si vous avez juste une aide d'action. Et si vous avez plusieurs aides d'action dans le chemin que vous pouvez utiliser addPrefix() dans le bootstrap au lieu de :: addHelper()

Zend_Controller_Action_HelperBroker::addPrefix('My_Action_Helpers'); 

Pour déterminer si une aide existe dans le gestionnaire d'aide, utilisez hasHelper (nom de $) , où $ name est le nom raccourci de l'aide (moins le préfixe):

// Check if 'redirector' helper is registered with the broker: 
    if (Zend_Controller_Action_HelperBroker::hasHelper('redirector')) { 
     echo 'Redirector helper registered'; 
    } 

http://framework.zend.com/manual/en/zend.controller.actionhelpers.html

Questions connexes