如何在TWIG中获取当前的URL或路由?

时间:2012-05-20 18:54:04

标签: php symfony twig

我是Symfony2的新手,我需要能够在TWIG中测试当前路线,这样我就可以在模板中显示子菜单,如下所示:

{% render "CPAdminBundle:Messages:sidebarMenu" %}
{% render "CPAdminBundle:Readings:sidebarMenu" %}

在侧边栏模板中,我尝试使用以下内容,但它会引发错误:

path(app.request.attributes.get('_route')) 

做我想要完成的事情的正确方法是什么?

1 个答案:

答案 0 :(得分:23)

您要执行的检查不属于视图。视图应该只关注显示,而不是做任何逻辑。

检查控制器并将其存储在变量中,将此变量传递给视图,然后检查此变量的值。
如果您想对每个操作执行此操作,请先查看kernel.controller event

如果您想在视图中进行操作,只需将app.request.attributes.get('_route')与您想要的路线进行比较即可。我不明白你为何放入path()

{% if app.request.attributes.get('_route') == 'my_route' %}
{% endif %}
相关问题