Zend Framework - Set No Layout for Controller
Asked Answered
C

3

11

I have a Controller that I want to use for ajax scripts to call and set session variables, get information, etc. How do I set it so that that particular controller doesn't use the default layout (specifically NO layout) so that it can send XML/JSON messages back and forth?

Culet answered 29/7, 2010 at 22:54 Comment(0)
S
17

Like anything to do with Zend_Framework and Zend_Application, there are multiple ways to do this, but on the last few pure Zend gigs I've done, I've seen people using the following (from an action method in you controller)

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

This shuts off of the layout. If you wanted to turn off your view as well, you could use

$this->_helper->viewRenderer->setNoRender(true);

again, from an action method in the controller.

Skitter answered 29/7, 2010 at 23:0 Comment(0)
D
7

in your controller ...

public function init() {
    if ($this->getRequest()->isXmlHttpRequest()) {
        // no Layout 
        $this->_helper->layout()->disableLayout();
        // no views
        $this->_helper->viewRenderer->setNoRender(true);
    }
}
Dragonhead answered 4/9, 2012 at 13:55 Comment(0)
N
2

In your controller action, try

$this->_helper->layout->disableLayout();
Nervous answered 29/7, 2010 at 22:58 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.