¿Cómo compruebo si la página actual es esta ruta?
{{ path('someNamePath') }}
Quiero establecer una clase css para el <a>
elemento o posiblemente eliminarlo por completo, por ejemplo
{% if isCurrentPath('someNamePath') %}
<a href="https://stackoverflow.com/questions/8451740/{{ path("someNamePath') }}" class="YouAreHere">My Link</a>
{% else %}
<a href="https://stackoverflow.com/questions/8451740/{{ path("someNamePath') }}">My Link</a>
{% endif %}
app.request.get('_route')
es probablemente lo que estás buscando:
{% if app.request.get('_route') == 'current_route' %}
<a href="https://stackoverflow.com/questions/8451740/{{ path("current_route') }}" class="YouAreHere">My Link</a>
{% else %}
<a href="https://stackoverflow.com/questions/8451740/{{ path("some_other_route') }}">My Link</a>
{% endif %}
En caso de que quiera usar uri en su lugar, puede usar app.request.uri
.
-
si uso {% render ‘AppBundle:Sidebar:render’ %} para renderizar la barra lateral, entonces app.request.get(‘_route’) devuelve el valor ‘_internal’ siempre. ¿Cómo puedo obtener una _ruta de la página actual?
– Mijaíl
15 de agosto de 2012 a las 9:09
-
No puede y es por diseño (por ahora) para subsolicitudes.
– Ondrej Slinták
16 de agosto de 2012 a las 5:54
La forma correcta es usar la variable “controller_name”. Esto se agrega en cada controlador generado por la CLI de Symfony. Usted puede, y probablemente debería, agregarlo allí usted mismo si no está presente.
Entonces puedes hacer una verificación como esta: {% if controller_name == "DashboardController" %}active{% endif %}