Bonjour,

Un autre sujet pour un autre problème avec ma tentative d'internationalisation de mon blog.
Cette fois-ci c'est au niveau de l'url que ça foire ! J'utilise des Router pour mes urls qui sont :

Router::connect(
        '/:language/article/:id-:slug',
        array('controller' => 'posts', 'action' => 'view'),
        array(
            // rien de compliqué, puisque ceci fera simplement correspondre ":id" à $articleID dans votre action
            'pass' => array('id', 'slug'),
            'id' => '[0-9]+',
            'language' => '[a-z]{3}'
        ));
      Router::connect(
        '/:language/categorie/:id-:slug',
        array('controller' => 'posts', 'action' => 'category'),
        array(
            // rien de compliqué, puisque ceci fera simplement correspondre ":id" à $articleID dans votre action
            'pass' => array('id', 'slug'),
            'id' => '[0-9]+',
            'language' => '[a-z]{3}'
        ));
     Router::connect(
        '/:language/:controller/*',
        array(),
        array(
            'language' => '[a-z]{3}'
        ));

Ca fonctionne parfaitement sur ma page d'accueil pour accéder à un article ainsi que le changement de langage sur la page d'accueil. Mais une fois sur la page de l'article, lorsque je clique sur le "drapeau" pour changer de langue, il y a une erreur, le changement ne s'effectue pas et l'url ne correspond plus.

Voici les résultats :

//le code du "drapeau"
<div id="fre">
                <?php echo $html->link($html->image('/img/fre.png', array('alt'=>'Français','title'=>'Français')), array('language'=>'fre')+$this->params'pass'], array('escape'=>false));?>
            </div>
            <div id="eng">
                <?php echo $html->link($html->image('/img/eng.png', array('alt'=>'English','title'=>'English')), array('language'=>'eng')+$this->params'pass'], array('escape'=>false));?>
            </div>
//-->l'url de l'accueil vers l'article
http:***/blog/fre/article/12-Un_autre_article
//-->l'url qui déconne (url retournée du code ci-dessus)
http:***/blog/posts/view/12/Un_autre_article/language:eng

Je ne trouve pas l'erreur, surement dans mon codage des Router. Mais c'est une adaptation puisque dans le tutoriel d'Internationalisation de GrafikArt. Il n'utilise pas d'url simplifiée comme celle-ci.

Si une âme généreuse venait à mon aide, je la remercie d'avance.

2 réponses


J'ai le meme probleme toujours pas de solution ??

Quelqu'un pourrait t'il nous aider j'ai exactement le meme probleme et je vais bientot pété les plombs j'ai rien trouvé comme erreur !