Как отключить представление рендерера из помощника действий контроллера?
В контроллере я могу вызвать помощника viewRenderer следующим образом:
$this->_helper->viewRenderer->setNoRender(true);
Как я могу вызвать viewRenderer в помощнике действий контроллера? Предположим, что у меня есть помощник действий контроллера:
class Zend_Controller_Action_Helper_Ajaxrequest extends Zend_Controller_Action_Helper_Abstract{
public function test(){
//what I should do here
}
}
1 ответ
Решение
viewRenderer
в вашем примере это на самом деле помощник действия, а не помощник вида.
Чтобы вызвать помощников действий, используйте вспомогательный брокер:
$helper = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
$helper->setNoRender(true);
Если вы действительно хотите вызвать помощников вида, вам нужен экземпляр вида. Вы можете получить один из контроллера:
$controller = $this->getActionController();
//call the url view helper
$controller->view->url(...);