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 :

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>
Les liens de mon menu sont écrit comme ceci :

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>
La langue par défaut est le français, pour le reste je récupère le paramètre de langue.

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 :

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));
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?

Dans mon XML j'ai :

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 ...
Ce qui correspond à :

<a class="myclass" href="/contents/index/index/id/43/lang/">Menu link</a>
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 :

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>
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.