Désactiver le chargement de la vue par défaut après un $this->render()
Bonjour,
J'utilise la version 1.12 du ZF. J'ai un souci sur le chargement des vues. Voici un résumé de mon code :
controller
Code:
1 2 3 4 5 6 7 8 9 10
|
FooController extends Zend_Controller_Action {
public function init()
{
// traitement données avec la DB ... ... ...
// puis :
$this->render('generic');
}
} |
Quelles que soient l'action de la request, je passe dans l'init pour charger mes données, et rediriger vers la vue correspondante.
Exemples :
monsite.com/foo/bar
monsite.com/foo/baz
Je charge les données correspondant à bar ou baz, puis les renvoie vers une même vue (generic.phtml).
Problème :
une fois la vue affichées, le code continue à s'exécuter, et j'ai une erreur :
Code:
Fatal error: Uncaught exception 'Zend_Controller_Action_Exception' with message 'Action "bar" does not exist and was not trapped in __call()'
J'ai créé l'action barAction() pour debug, et effectivement elle est appelée à la suite du $this->render() initial. Mais je ne veux pas qu'elle soit appelée.
J'ai tenté un
Code:
$this->_helper->layout->disableLayout();
Mais j'ai besoin de charger le layout.
Idem avec :
Code:
$this->_helper->viewRenderer->setNoRender(true);
Je souhaiterais plutôt désactiver le chargement de la vue par défaut (correspondant à l'action) plutôt que désactiver les vues...
J'espère que je suis assez clair... Merci pour votre aide.