ash*_*exm 11 php zend-framework zend-controller zend-view zend-layout
我有一个控制器,我想用于ajax脚本调用和设置会话变量,获取信息等.我如何设置它,以便该特定控制器不使用默认布局(特别是没有布局),以便它可以来回发送XML/JSON消息?
Ala*_*orm 17
就像Zend_Framework和Zend_Application一样,有很多方法可以做到这一点,但是在我做过的最后几次纯Zend演出中,我看到有人使用以下内容(来自你控制器中的动作方法)
$this->_helper->layout()->disableLayout();
Run Code Online (Sandbox Code Playgroud)
这会关闭布局.如果你想关闭你的视图,你可以使用
$this->_helper->viewRenderer->setNoRender(true);
Run Code Online (Sandbox Code Playgroud)
再次,从控制器中的动作方法.
在你的控制器......
public function init() {
if ($this->getRequest()->isXmlHttpRequest()) {
// no Layout
$this->_helper->layout()->disableLayout();
// no views
$this->_helper->viewRenderer->setNoRender(true);
}
}
Run Code Online (Sandbox Code Playgroud)