我有一个控制器,我想用它来调用和设置会话变量、获取信息等ajax脚本。如何设置,使得该特定控制器不使用默认布局(具体地说是没有布局),以便可以发送XML/JSON消息来回传输?
和Zend_Framework和Zend_Application相关的任何事情一样,有多种方法可以实现这一点,但在我最近完成的几个纯Zend项目中,我看到人们使用以下方法(从您控制器中的操作方法):
$this->_helper->layout()->disableLayout();
这将关闭布局。如果您还想关闭视图,可以使用
$this->_helper->viewRenderer->setNoRender(true);
再次强调,这是从控制器中的操作方法获取的。
public function init() {
if ($this->getRequest()->isXmlHttpRequest()) {
// no Layout
$this->_helper->layout()->disableLayout();
// no views
$this->_helper->viewRenderer->setNoRender(true);
}
}
$this->_helper->layout->disableLayout();