检查Symfony2中{{path()}}是否为当前{{path()}}

时间:2011-12-09 21:10:44

标签: php symfony twig

如何检查当前页面是否为此路径:

{{ path('someNamePath') }}

我想将一个css类设置为<a>元素,或者可以将其完全删除,例如。

{% if  isCurrentPath('someNamePath') %}
    <a href="{{ path('someNamePath') }}" class="YouAreHere">My Link</a>
{% else %}
    <a href="{{ path('someNamePath') }}">My Link</a>
{% endif %}

2 个答案:

答案 0 :(得分:78)

app.request.get('_route')可能就是你要找的东西:

{% if app.request.get('_route') == 'current_route' %}
    <a href="{{ path('current_route') }}" class="YouAreHere">My Link</a>
{% else %}
    <a href="{{ path('some_other_route') }}">My Link</a>
{% endif %}

如果您想使用uri,可以使用app.request.uri

答案 1 :(得分:1)

正确的方法是使用“controller_name”变量。这是在 symfony CLI 生成的每个控制器中添加的。如果它不存在,您可以并且可能应该自己添加它。

然后你可以做一个这样的检查:{% if controller_name == "DashboardController" %}active{% endif %}