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

2022-08-30 11:52:00

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

{{ 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 %}

答案 1

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


答案 2

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

然后,您可以进行如下检查:{% if controller_name == "DashboardController" %}active{% endif %}


推荐