我是Symfony2的新手,我需要能够在TWIG中测试当前路线,这样我就可以在模板中显示子菜单,如下所示:
{% render "CPAdminBundle:Messages:sidebarMenu" %}
{% render "CPAdminBundle:Readings:sidebarMenu" %}
在侧边栏模板中,我尝试使用以下内容,但它会引发错误:
path(app.request.attributes.get('_route'))
做我想要完成的事情的正确方法是什么?
答案 0 :(得分:23)
您要执行的检查不属于视图。视图应该只关注显示,而不是做任何逻辑。
检查控制器并将其存储在变量中,将此变量传递给视图,然后检查此变量的值。
如果您想对每个操作执行此操作,请先查看kernel.controller event。
如果您想在视图中进行操作,只需将app.request.attributes.get('_route')
与您想要的路线进行比较即可。我不明白你为何放入path()
。
{% if app.request.attributes.get('_route') == 'my_route' %}
{% endif %}