У меня есть контроллер, который я хочу использовать для скриптов ajax для вызова и установки переменных сеанса, получения информации и т.д. Как настроить его таким образом, чтобы этот конкретный контроллер не использовал макет по умолчанию (в частности, NO layout), поэтому что он может отправлять сообщения XML/JSON взад и вперед?
Zend Framework - установка макета для контроллера
Ответ 1
Как и все, что связано с Zend_Framework и Zend_Application, есть несколько способов сделать это, но на последних нескольких чистых концертах Zend, которые я сделал, я видел, как люди использовали следующее (из метода действий в вашем контроллере)
$this->_helper->layout()->disableLayout();
Это отключает макет. Если вы хотите отключить свой просмотр, вы можете использовать
$this->_helper->viewRenderer->setNoRender(true);
снова, из метода действия в контроллере.
Ответ 2
в вашем контроллере...
public function init() {
if ($this->getRequest()->isXmlHttpRequest()) {
// no Layout
$this->_helper->layout()->disableLayout();
// no views
$this->_helper->viewRenderer->setNoRender(true);
}
}
Ответ 3
В действии вашего контроллера попробуйте
$this->_helper->layout->disableLayout();