Bonjour a tous,

J'essai en vain de modifier la langue utilisé par default aprés appuie sur un lien pour choisir la langue.

Voici mon controleur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
<?php
 
namespace [CHEMIN BUNDLE]\Controller;
 
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
 
class GlobalController extends Controller
{
    public function setLanguageAction($langue = null) {
 
                if($langue != null)
                {
                    $this->getRequest()->setLocale($langue);
                }
 
                // on tente de rediriger vers la page d'origine
                $url = $this->container->get('request')->headers->get('referer');
                if(empty($url)) {
                    $url = $this->container->get('router')->generate('keeptraffic_live_wl_homepage');
                }
                return $this->redirect($url);
        }
}
?>
Voici mon fichier de routage :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
setLanguage:
    pattern:  /language/{langue}
    defaults: { _controller: [CHEMIN BUNDLE]:Global:setLanguage }
    requirements:
        _locale: fr|en|de|es|it|se|pt|cn|ae
et voici dans mon pied de page :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<!-- footer.html.twig -->
            <a href="{{ path('setLanguage', { 'langue': 'fr' }) }}">Francais</a>
            <a href="{{ path('setLanguage', { 'langue': 'en' }) }}">Anglais</a>
        <!-- etc... -->
Tout les variables transitent bien, cependant ma local en cours d'utilisation ne change pas...

J'ai oublié de faire un truc ?

j'ai essayé de vider le cache, rien n'y fait.

Merci pour votre aide.