Internationalisation et route

Par CVNeo, il y a 7 ans


Bonjour,

J'ai mis en place l'internationalisation Symfony 4

Je rencontre un problème avec ma lise déroulante pour changer de langue.

<div class="dropdown-menu dropdown-menu-right"> <a href="{{ path(app.request.attributes.get('_route'), { '_locale': 'fr' }) }}" class="dropdown-item"><img src="/template/images/flags/fr.png" alt=""> Français</a> <a href="{{ path(app.request.attributes.get('_route'), { '_locale': 'de' }) }}" class="dropdown-item"><img src="/template/images/flags/de.png" alt=""> Deutch</a> <a href="{{ path(app.request.attributes.get('_route'), { '_locale': 'it' }) }}" class="dropdown-item"><img src="/template/images/flags/it.png" alt=""> Italiano</a> <a href="{{ path(app.request.attributes.get('_route'), { '_locale': 'en' }) }}" class="dropdown-item"><img src="/template/images/flags/en.png" alt=""> English</a> </div>

Cela fonctionne bien avec des routes simples du genre :

une idée ?

2 réponses

Elyanor, il y a 7 ans

Hello,

Tu récupères la route actuelle mais tu ne lui renvois pas les paramètres nécessaires ;)

Un truc dans le genre devrait tout récupérer et réaffecter ta locale :

{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')|merge({ '_locale': 'fr' })) }}

CVNeo, il y a 7 ans

Impec cela fonctionne.
Super merci :)