Ho un controller che voglio usare per script ajax per chiamare e impostare variabili di sessione, ottenere informazioni, ecc. Come faccio a impostarlo in modo che quel particolare controller non usi il layout predefinito (in particolare NO layout) in modo che possa inviare messaggi XML/JSON avanti e indietro?Zend Framework - Imposta nessun layout per il controllore
10
A
risposta
15
Come qualche cosa a che fare con Zend_Framework e Zend_Application, ci sono diversi modi per farlo, ma gli ultimi concerti puri Zend che ho fatto, ho persone che hanno visto quanto segue (da un metodo di azione nel controllore)
$this->_helper->layout()->disableLayout();
Questo si spegne dal layout. Se si desidera disattivare anche la vista, è possibile utilizzare
$this->_helper->viewRenderer->setNoRender(true);
di nuovo, da un metodo di azione nel controller.
2
Nella vostra azione di controllo, prova a
$this->_helper->layout->disableLayout();
6
nel controller ...
public function init() {
if ($this->getRequest()->isXmlHttpRequest()) {
// no Layout
$this->_helper->layout()->disableLayout();
// no views
$this->_helper->viewRenderer->setNoRender(true);
}
}