我试图将控制器嵌入模板中,但是它不起作用。
这是我的代码:
/** PostBundle this is the main action call by the user */
public function statisticAction(Request $request)
{
return $this->render('@Post/statistic/statistic.html.twig');
}
/** The template Post/statistic/statistic.html.twig */
{% block body %}
<div id="wrapper">
<div id="container">
<h1>Statistics</h1>
<div>
{{render_esi(controller('DoctrineBehaviorsBundle:Comment:statistic',
{'filter': {'year': 'desc'}})) }}</div>
</div>
</div>
{% endblock %}
/** DoctrineBehaviorsBundle:Comment:statistic*/
public function statisticAction($filter = [])
{
list($func, $stats) = $this->getDoctrine()->getRepository(CommentRecord::class)->fetchStatistics($filter);
/** @var Response $response */
$response = $this->render('@DoctrineBehaviors/comment/statistic.html.twig', [
'func' => $func,
'stats' => $stats,
]);
$response->setSharedMaxAge(600);
return $response;
}
/** And the template DoctrineBehaviors/comment/statistic.html.twig */
<table class="sto_doctrine_behaviors__table sto_doctrine_behaviors__table__statistics">
<caption class="sto_doctrine_behaviors__table__caption">Statistics for comment record</caption>
<thead class="sto_doctrine_behaviors__table__head">
<tr>
<th>{{ func|upper }}</th>
<th>Class name</th>
<th>Total</th>
</tr>
</thead>
<tbody class="sto_doctrine_behaviors__table__body">
{% for key, value in stats %}
{% for s in value %}
<tr>
<td>{{ key }}</td>
<td>{{ s['class_name'] }}</td>
<td>{{ s['class_total'] }}</td>
</tr>
{% endfor %}
{% endfor %}
</tbody>
在我的项目中,我有另一个渲染控制器,并且一切正常。区别在于我在arg中将第一个控制器的对象传递给了渲染控制器。
那么Symfony doc有什么区别?
非常感谢您的帮助。
答案 0 :(得分:1)
我在听众上评论了一行,现在一切正常。 我现在需要在该侦听器上工作。