2011-12-09 23 views
31

Jak mogę sprawdzić, czy bieżąca strona jest ta ścieżka:Sprawdź, czy {{ścieżka()}} jest obecny {{ścieżka()}} w Symfony2

{{ path('someNamePath') }} 

Chcę ustawić klasę css element <a> lub możliwe jego całkowite usunięcie, np.

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

Odpowiedz

68

app.request.get('_route') jest chyba to, czego szukasz:

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

W przypadku, gdy chcesz użyć URI zamiast tego można użyć app.request.uri.

+0

jeśli użyję {Applikład: {% render}: Pasek boczny: wyrenderuj '%}, aby wyświetlić pasek boczny, a następnie app.request.get ("_ route") zawsze zwracaj wartość "_internal". Jak mogę uzyskać _route bieżącej strony? – Mikhail

+0

Nie można i jest to zgodne z projektem (na razie) pod kątem subskrypcji. –

Powiązane problemy