Bonjour,
je travaille actuellement sur un site dont le contenu est multilingue. Tout ce contenu est stocké en BDD. Pour choisir la langue, j'ai ceci dans mes layouts :
Les liens de mon menu sont écrit comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <div id="flags"> <a href="<?= $this->url(array('lang' => 'fr'),null,false); ?>" class="fr"></a> <a href="<?= $this->url(array('lang' => 'en'),null,false); ?>" class="eng"></a> </div>
La langue par défaut est le français, pour le reste je récupère le paramètre de langue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<li><a href="<?= $this->url(array('module' => 'contents', 'controller' => 'index', 'action' => 'index', 'id' => 12, 'lang' => $this->lang), null, true) ?>">Consulting</a></li>
Pour simplifier la gestion de la navigation, j'aimerais utiliser Zend_Navigation qui, me semble t-il, est fait pour. J'ai écrit le fichier XML nécessaire et dans mon bootstrap, j'ai :
Tout fonctionne pour très bien mais une chose m'échappe : comment gérer le multilingue? Tant que je navigue en français, tout est ok mais comment récupérer le paramètre de langue au cas ou je passe en anglais par exemple?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $config = new Zend_Config_Xml(APPLICATION_DIRECTORY . '/navigation.xml', 'nav'); $Zend_Layout = Zend_Layout::getMvcInstance()->getView(); $Zend_Layout->navigation(new Zend_Navigation($config));
Dans mon XML j'ai :
Ce qui correspond à :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14... some xml ... <label>Menu link</label> <class>myclass</class> <module>contents</module> <controller>index</controller> <action>index</action> <params> <id>43</id> <lang></lang> </params> ... some xml ...
Donc ça coince au niveau de l'élément "lang". Je ne sais pas ce qu'il faut lui mettre comme valeur par défaut car je dois avoir :<a class="myclass" href="/contents/index/index/id/43/lang/">Menu link</a>
Voilà, j'espère avoir été clair et fourni les informations nécessaires. Je vous remercie d'avance pour l'aide que vous pourrez m'apporter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <a class="myclass" href="/contents/index/index/id/43/lang/fr">Menu link</a> ou <a class="myclass" href="/contents/index/index/id/43/lang/en">Menu link</a>
Partager