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

Mik*_*eGA 5 php symfony twig

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

{% render "CPAdminBundle:Messages:sidebarMenu" %}
{% render "CPAdminBundle:Readings:sidebarMenu" %}
Run Code Online (Sandbox Code Playgroud)

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

path(app.request.attributes.get('_route')) 
Run Code Online (Sandbox Code Playgroud)

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

Sam*_*ane 23

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

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

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

{% if app.request.attributes.get('_route') == 'my_route' %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)