Récupérer le nom de la route Symfony dans un template Twig

Publié le 09/01/2020 • Mis à jour le 09/01/2020


English language detected! 🇬🇧

  We noticed that your browser is using English. Do you want to read this post in this language?

Read the english version 🇬🇧 Close

Parfois, il est utile de récupérer le nom de la route à partir d'un template Twig. Par exemple dans le layout ou l'on ne "reçoit" pas ce nom de route à partir d'un contrôleur. Ça permet, par exemple, de mettre une classe "actif" sur des liens de menu en fonction du contexte. J'utilise cette astuce sur ce site. Comme vous pouvez le voir, l'entrée "snippet" du menu est surlignée. Dans ce cas, je teste si la route commence par snippet_ puisque toutes les routes de ce contrôleur sont préfixées par cette chaîne grâce à l'annotation @route mise en place au niveau de la classe contrôleur :
* @Route("/{_locale}/snippets", name="snippet_", requirements={"_locale"="%locales_requirements%"}).


Current route: {{ app.request.get('_route') }}

->

Current route: snippet_show

 Plus sur Stackoverflow   Lire la doc  Snippet aléatoire