mardi 18 novembre 2008

[spip] Menu qui change selon le contenu disponible dans la langue

Situation : mon site spip est multilingue (3 langues). J'ai choisi de faire une structure dans laquelle j'aurai tous mes articles "originaux" et leurs traductions dans une seule rubrique. Dans chaque langue, à terme, ce sera le même contenu (tous les articles seront traduits), mais ça viendra très doucement. Donc, pour l'instant, les rubriques sont très inégales. Par exemple, en FR j'ai 3 rubriques avec 10 articles chacune, et en EN j'en ai 1 seule qui contient des articles. Je ne veux pas que les visiteurs voient des rubriques vides dans le menu.

Solution : ci-dessous, un menu qui répond à cette situation. Le principe est simple : je demande les rubriques, je vérifie qu'il existe bien des articles publiés dans la langue, et dans ce cas seulement, j'affiche le titre des sous-rubriques. On peut bien-sûr compléter et compliquer encore plus la chose...

<ul> <BOUCLE_Secteur(RUBRIQUES){id_rubrique}{!lang_select}>
[<li>(#TITRE|supprimer_numero):</li>] </BOUCLE_Secteur>
<BOUCLE_Sect(RUBRIQUES){id_parent=1}{!lang_select}{par multi titre}{tous}>
<BOUCLE_SiSiArts(ARTICLES){branche}{lang}>
<BOUCLE_TitRubArt(HIERARCHIE){id_rubrique}{1,1}{!lang_select}{unique}>
[<li><a href="#URL_RUBRIQUE">(#TITRE|supprimer_numero)</a> |</li>] </BOUCLE_TitRubArt>
</BOUCLE_SiSiArts> </BOUCLE_Sect> </ul>


Ce principe est mis en application ici.

0 commentaires: