15

我有以下控制器,除其他方法外,它还有这个:

class EquipasController extends OccControllerAction {

    public function listaAction()
    {    
        $this->_helper->viewRenderer->setNoRender(true);
        $this->_helper->layout->disableLayout();
    }
}

当我这样做时,我期待着: http ://www.example.com/equipas/lista/

控制器将执行,我将在我的视口上看不到布局渲染。

然而,事实并非如此。我得到我的主页呈现。

我们通常在 ZF 的哪个位置说:如果一个操作不存在,则应该出现一个主页?

注意:如果,而不是: http ://www.example.com/equipas/lista/

我有, http://www.example.com/equipas/adasdas21232131/ 不存在。

我得到相同的主页渲染。

这种行为的原因可能是什么?

Zend 新手,MEM

4

3 回答 3

23

在你的控制器中添加这个:

public function preDispatch(){
        $this->_helper->layout()->disableLayout(); 
        $this->_helper->viewRenderer->setNoRender(true);
    }
于 2012-11-16T09:38:28.033 回答
5

这可能不会直接回答您的问题(您似乎已经解决了),但要禁用布局并为 AJAX 请求提供不同的视图,请考虑使用AjaxContext操作帮助程序。

于 2010-11-29T02:45:23.020 回答
0

在 zf2

 public function indexAction()
    {    
        echo "json"
        return $this->getResponse();
    }
于 2015-05-06T12:16:19.660 回答