Bonjour à tous. Je travaille actuellement sur un site bilingue en utilisant la méthode du wiki : un dossier contenant le site en français, un autre contenant le site en anglais. Pour afficher le menu principal; j’ai donc un appel wayfinder pour le site français, et autre avec un startId différent pour le site anglais.
J’aimerais donc que les "startId" de tous mes appels wayfinder s’adaptent
automatiquement en fonction de la langue (donc en fonction du parent ultime); pour m’éviter de dupliquer tous les appels.
J’ai fait le snippet suivant (version courte pour l’exemple)
<?php
#parametre du snippet
$echo_id = isset($echo_id)? $echo_id:0;
#trouver l’id du parent utlime donc la langue en cours#
$id = $modx->runSnippet(’UltimateParent’);
#Configurer les racines de langues (id des dossiers en et fr)#
$fr=82;
$en=222;
#Valeur des variables en fonction de la langue#
if($id==$fr)
{
$petit_menu=78;
$menu_principal=117;
}
if($id==$en)
{
$petit_menu=235;
$menu_principal=246;
}
if($echo_id==’petit_menu’) {echo $petit_menu;}
if($echo_id==’menu_principal’) {echo $menu_principal;}
?>
Le snippet me renvoie bien la valeur pour le startId qui m’intéresse en fonction de la langue. Malheureusement mon appel de wayfinder lui ne foncionne plus quand j’insère mon snippet !
[!Wayfinder? &startId=` [[ConfigLang? &echo_id=`menu_principal`]]` &level=`0` &rowTpl=`rowTpl` &outerTpl=`outerTpl` &parentRowTpl=`parentRowTpl` &innerTpl=`innerTpl` &innerRowTpl=`innerRowTpl` &hereTpl=`active` !]
Qu’est ce qui cloche?
Merci de votre aide !