J'ai un contrôleur que je veux utiliser pour les scripts ajax pour appeler et définir des variables de session, obtenir des informations, etc. Comment le configurer pour que ce contrôleur n'utilise pas le mise en page par défaut (en particulier NO mise en page) de sorte qu'il peut envoyer des messages XML/JSON et-vient?Zend Framework - Ne pas définir de disposition pour le contrôleur
10
A
Répondre
15
Comme rien à voir avec Zend_Framework et Zend_Application, il y a plusieurs façons de le faire, mais sur les derniers concerts purs Zend que j'ai fait, je l'ai vu personnes utilisant ce qui suit (à partir d'une méthode d'action dans votre contrôleur)
$this->_helper->layout()->disableLayout();
Ceci ferme la disposition. Si vous souhaitez également désactiver votre vue, vous pouvez utiliser à nouveau
$this->_helper->viewRenderer->setNoRender(true);
, à partir d'une méthode d'action dans le contrôleur.
2
Dans votre action du contrôleur, essayez
$this->_helper->layout->disableLayout();
6
dans votre contrôleur ...
public function init() {
if ($this->getRequest()->isXmlHttpRequest()) {
// no Layout
$this->_helper->layout()->disableLayout();
// no views
$this->_helper->viewRenderer->setNoRender(true);
}
}