2011-07-15 101 views
0

在控制器,我可以调用ViewRenderer助手这样的:如何从控制器动作助手中禁用视图渲染器?

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

我如何可以调用视图解析器在控制器动作助手? 假设我有一个控制器动作助手:

class Zend_Controller_Action_Helper_Ajaxrequest extends Zend_Controller_Action_Helper_Abstract{ 

    public function test(){ 
     //what I should do here 
    } 
} 

回答

7

viewRenderer在你的例子实际上是一个动作助手,而不是一个视图助手。

要调用动作助手,使用助手经纪人:

$helper = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); 
$helper->setNoRender(true); 

如果你真的想调用视图助手,你需要一个视图实例。你可以从控制器得到一个:

$controller = $this->getActionController(); 

//call the url view helper 
$controller->view->url(...); 
+0

非常感谢。 –

+0

Hello @jani,我试着在一个动作助手里面调用视图助手,但是你发布的代码没有成功,你能否尝试更好地解释这个用法?谢谢。 –

相关问题