如何从控制器动作助手中禁用视图渲染器?

Nấm*_*Lùn 0 action zend-framework controller helper viewhelper

在控制器中,我可以像这样调用viewRenderer帮助器:

$this->_helper->viewRenderer->setNoRender(true);
Run Code Online (Sandbox Code Playgroud)

如何在控制器动作助手中调用viewRenderer?假设我有一个Controller动作助手:

class Zend_Controller_Action_Helper_Ajaxrequest extends Zend_Controller_Action_Helper_Abstract{

   public function test(){
       //what I should do here
   }
}
Run Code Online (Sandbox Code Playgroud)

Jan*_*nen 7

viewRenderer在您的示例中实际上是一个动作助手,而不是一个视图助手.

要调用操作助手,请使用帮助程序代理:

$helper = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
$helper->setNoRender(true);
Run Code Online (Sandbox Code Playgroud)

如果您确实想要调用视图助手,则需要一个视图实例.你可以从控制器获得一个:

$controller = $this->getActionController();

//call the url view helper
$controller->view->url(...);
Run Code Online (Sandbox Code Playgroud)