Php Zend Framework-不为控制器设置布局

Php Zend Framework-不为控制器设置布局,php,zend-framework,zend-view,zend-controller,zend-layout,Php,Zend Framework,Zend View,Zend Controller,Zend Layout,我有一个控制器,我想用于ajax脚本调用和设置会话变量、获取信息等。如何设置它,使特定控制器不使用默认布局(特别是无布局),以便它可以来回发送XML/JSON消息?在控制器操作中,请尝试 $this->_helper->layout->disableLayout(); 与Zend_框架和Zend_应用程序一样,有多种方法可以实现这一点,但在我所做的最后几次纯Zend Gig中,我看到人们使用以下方法(从控制器中的动作方法) 这将关闭布局。如果您也想关闭视图,可以使用 $thi

我有一个控制器,我想用于ajax脚本调用和设置会话变量、获取信息等。如何设置它,使特定控制器不使用默认布局(特别是无布局),以便它可以来回发送XML/JSON消息?

在控制器操作中,请尝试

$this->_helper->layout->disableLayout();

与Zend_框架和Zend_应用程序一样,有多种方法可以实现这一点,但在我所做的最后几次纯Zend Gig中,我看到人们使用以下方法(从控制器中的动作方法)

这将关闭布局。如果您也想关闭视图,可以使用

$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);
    }
}
public function init() {
    if ($this->getRequest()->isXmlHttpRequest()) {
        // no Layout 
        $this->_helper->layout()->disableLayout();
        // no views
        $this->_helper->viewRenderer->setNoRender(true);
    }
}