2010-11-26 3 views
1

Mon aide d'action juste echos « ok » quand appeléZend Form ne peut pas utiliser l'aide d'action

class Helper_MyActionHelper extends Zend_Controller_Action_Helper_Abstract { 
    public function direct(){ 
     echo "ok"; 
    } 
} 

Quand je teste dans mon contrôleur, il fonctionne très bien et echos ok. Mais quand je fais la même chose sous une forme, cela ne fonctionne pas du tout. J'ai essayé

$this->_helper->myActionHelper(); 
$this->_helper->myActionHelper; 

Alors, est-ce que je peux utiliser une aide d'action dans un formulaire. Y at-il un moyen de contourner le problème?

Répondre

2

Vous pouvez toujours transmettre l'objet myActionHelper au formulaire en tant que paramètre.

3

Un nom plus précis pour les aides à l'action serait Action-Controller helpers. Ils sont destinés à être appelés à partir des méthodes de contrôleur d'action. Vous ne pouvez pas, hors de la boîte, les appeler à partir d'autres objets Zend.

3

Action Les aides ne sont pas conçus pour «aider» les éléments non-action de votre application.

Votre $form n'a aucun concept d'aide à l'action enregistrée ($this->_helper) ni même le contexte dans lequel les aides sont configurés.

Vous pouvez lire ici et savoir où les plugins travaillent dans le cycle de vie Zend Framework: http://www.eschrade.com/page/zend-framework-request-lifecycle-4b9a4288

Si vous révisez votre question et laissez-nous savoir ce que vous essayez d'accomplir, nous pourrions être en mesure de proposer autre méthodes