2011-07-15 41 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,我試着在一個動作助手裏面調用視圖助手,但是你發佈的代碼沒有成功,你能否嘗試更好地解釋這個用法?謝謝。 –

相關問題