Reputation: 31317
I have the following controller that, among other methods it has this one:
class EquipasController extends OccControllerAction {
public function listaAction()
{
$this->_helper->viewRenderer->setNoRender(true);
$this->_helper->layout->disableLayout();
}
}
I was expecting that, when I do: http://www.example.com/equipas/lista/
the controller will execute and I will see no layout rendering on my viewport.
However, that's not the case. I get my home page rendered.
Where on ZF do we normally say: if an action doesn't exist a home page should appear?
Note: If, instead of: http://www.example.com/equipas/lista/
I do, http://www.example.com/equipas/adasdas21232131/ that doesn't exist.
I get the same home page rendering.
What could be the cause for such a behaviour?
A Zend Newbie, MEM
Upvotes: 15
Views: 42251
Reputation: 13596
in zf2
public function indexAction()
{
echo "json"
return $this->getResponse();
}
Upvotes: 0
Reputation: 752
Add this inside your controller:
public function preDispatch(){
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
}
Upvotes: 23
Reputation: 164768
This may not answer your question directly (which you seem to have solved anyway), but to disable the layout and deliver a different view for AJAX requests, consider using the AjaxContext action helper.
Upvotes: 5