我可以渲染视图而不在 Zend 框架 2 的动作控制器中返回它吗? [英] Can I render view without returning it in action controller in zend framework 2?
本文介绍了我可以渲染视图而不在 Zend 框架 2 的动作控制器中返回它吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
现在我这样做了:
public function indexAction() {
...
$view = new ViewModel(array(
'foo' => 'bar',
));
return $view;
}
问题是我想在 $view 渲染之后和布局渲染之前做一些事情:
The problem is that I want to do something after $view rendering and before layout rendering:
public function indexAction() {
...
$view = new ViewModel(array(
'foo' => 'bar',
));
$layout = $this->layout();
$layout->content = $view->render();
...
// here I want to do some important action
...
$html = $layout->render();
return $this->getResponse()->setContent($html);
}
但是没有方法render().在 ZF1 中,我可以渲染视图:
But there is no method render(). In ZF1 I could render view:
$view = new Zend_View($data);
$html = $view->render($templateName);
我如何在 ZF2 中做到这一点?
How can I do that in ZF2?
推荐答案
试试这个:
public function IndexAction()
{
...
$viewRender = $this->getServiceLocator()->get('ViewRenderer');
$html = $viewRender->render($viewModel);
...
}
这篇关于我可以渲染视图而不在 Zend 框架 2 的动作控制器中返回它吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文