symfony2将动作数组渲染为多个模板

时间:2013-07-05 17:07:29

标签: symfony view rendering

我是Symfony的新手(以及PHP)。我目前在我的Controller中有一个方法indexAction,它将一个对象数组($ results)呈现给索引视图(index.html.twig模板) - 这部分有效。

我想在不同的视图页面中使用我在index.html.twig中呈现的SAME数组。是否可以将数组渲染到多个模板?

我已经尝试添加第二个渲染语句,但它不起作用(我得到一个错误,说第二个模板中调用的数组不存在 - 因此只有第一个渲染语句正在工作)。我已经考虑过将indexAction的内容复制并粘贴到get_stuffAction(同一个控制器中的两个方法),但我认为这可能不是最好的方法(很多冗余代码)。

return $this->render('TryBundle:Try:index.html.twig',  array('results'=>$results));
return $this->render('TryBundle:Try:get_stuff.html.twig',  array('results'=>$results));

只是想知道是否有人知道如何将数组渲染到多个视图,或者我是否可以某种方式使用在get_stuffAction函数中的indexAction函数中创建的数组。

非常感谢你的时间!

1 个答案:

答案 0 :(得分:1)

为什么不在控制器中创建一个方法来获取结果,然后在每个操作中只调用该方法来获取所需的数据。