bonjour j'ai un menu et je veux sélectionné l’élément courante .merci pour votre aide :)

4 réponses


shadoo
Réponse acceptée

Il y a plusieurs façon de procéder dans symfony2, le mieux (et j'espère que c'est ce que tu as fait), est de créer un bundle Menu. Dans ce bundle menu on peut le gérer ou via les controllers ou bien dans les vuew twig, comme j'ai dit plus haut il y a plusieurs façon de faire. Perso je préfère gérer l'ajout de class dans le twig.
Avec le coposant HttpFoundation tu peux procéder de cette façon :

avec : app.request.attributes.get('_route');
et : app.request.attributes.get('_internal');

lien twig : <li class="{% if app.request.attributes.get('_route') == '_list' %}current{% endif %}"><a href="#"......

Pour que cela soit plus propre évidement il vaut mieux gérer la condition directement dans le contrôleur et renvoyer directement sous forme de variable
ex: <li class="{{ current }}><a href"#"...

Pourquoi tu n'utilise pas jquery sans cassé la tête avec class='active' ?

il faut que cela puisse fonctionner sans javascript généralement, que cela soit une application ou site web pour l'accessibilité, surtout pour ce type d'élément actif. Après c'est certain qui on construit une application RIA full ajax, à la rigueur on peut le faire en js, mais pour un élément de menu actif il vaut quand même mieux passer côté serveur

Merci shadoo pour votre explication :)