$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(TRUE);
这是我们通常禁用视图的操作。我的问题是为什么我们需要disableLayout()
?当布局本身是一个视图助手,为什么我们需要两个都禁用?
答案 0 :(得分:2)
因为,
$this->_helper->viewRenderer->setNoRender(TRUE);
仅禁用视图,I.E。与动作相关联的phtml脚本..
但是如果你只使用那个,那么将加载整个应用程序的核心布局..它将包含一些css或js或与中心主题相关的任何内容,这是布局的一部分。
如果你想删除所有这些并且只想要空白页面那么你必须同时使用..
答案 1 :(得分:2)
要禁用您需要使用的操作的布局
$this->_helper->layout->disableLayout();
例如,如果您对该操作使用Ajax请求,则可以使用此操作,此请求的输出将是此操作的关联视图(phtml)。
如果您不想使用此关联视图,则需要添加以下内容
$this->_helper->viewRenderer->setNoRender(TRUE);
现在,如果您想使用不同的视图文件,可以使用以下
$this->renderScript('other.phtml');