Per disabilitare il rendering di layout e view per un controller occorre includere le seguenti righe di codice all’interno del metodo preDispatch del controller stesso:
public function preDispatch() {
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
}
Nel caso in cui si volesse disabilitare il rendering di layout e script all’interno di un solo action è necessario assicurarsi di non effettuare l’inclusione di cui al punto precedente e inserire le due righe di codice
public function myAction() {
$db = new .... /* il codice da eseguire nell'action */
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
}
all’interno dell’action in questione.
Quest’ultimo caso può risultare molto utile nel caso si vogliano inserire degli action che rispondono ad invocazioni Ajax all’interno di uno stesso controller, senza dover necessariamente dover creare una struttura dedicata.