[PLUGINS] +set de base
[lhc/web/www.git] / www / plugins / Menu_langue_lien / formulaires / menu_lang.html
1 [(#REM)
2 Stocker les traductions eventuelles de l'article en cours
3 ]
4 <BOUCLE_article(ARTICLES){id_article}>
5 #SET{ListeTraductions, #ARRAY{}}
6 <BOUCLE_TraductionArticleCourant(ARTICLES){traduction}{lang !IN #CONFIG{menu_lang_liens/langues_invisibles,#ARRAY}}>
7 #SET_MERGE{ListeTraductions,#GET{ListeTraductions},#ARRAY{#LANG,#URL_ARTICLE}}
8 </BOUCLE_TraductionArticleCourant>
9 </BOUCLE_article>
10
11 [(#REM)
12 Stocker les traductions eventuelles de la rubrique en cours si le plugin Tradrub est installe (permet l'utilisation du
13 critere traduction sur les rubriques)
14 ]
15 <BOUCLE_tradrub(CONDITION){si #PLUGIN{tradrub}}>
16 <BOUCLE_rubrique(RUBRIQUES){id_rubrique}>
17 #SET{ListeTraductions, #ARRAY{}}
18 <BOUCLE_TraductionRubriqueCourante(RUBRIQUES){traduction}{lang !IN #CONFIG{menu_lang_liens/langues_invisibles,#ARRAY}}>
19 #SET_MERGE{ListeTraductions,#GET{ListeTraductions},#ARRAY{#LANG,#URL_RUBRIQUE}}
20 </BOUCLE_TraductionRubriqueCourante>
21 </BOUCLE_rubrique>
22 </BOUCLE_tradrub>
23
24 [(#REM)
25 Y-a-t'il plus d'une langue reellement utilisee dans le site (moins les langues "invisibles") ?
26 Si oui, on affiche le menu de langue
27 Si non, rien
28
29 Les langues "invisibles" sont les langues que le webmestre peut choisir de ne pas afficher dans le menu,
30 a partir du formulaire de configuration du plugin.
31
32 Note : 'explode' est une fonction PHP : http://php.net/manual/fr/function.explode.php, utilisee ici pour renvoyer un tableau contenant
33 les langues utilisees, a partir de la variable meta 'langues_utilisees'. Ce tableau est compare avec le tableau des langues invisibles
34 avec la fonction PHP 'array_diff' http://www.php.net/manual/fr/function.array-diff.php qui renvoie elle-meme un tableau.
35
36 ]
37
38 [(#SET{langues_a_afficher,[(#CONFIG{langues_utilisees}|explode{","}|array_diff{#CONFIG{menu_lang_liens/langues_invisibles, #ARRAY}})]})]
39
40 <BOUCLE_PlusieursLanguesUtilisees(POUR){tableau #GET{langues_a_afficher}}{1,1}>
41 <[(#CONFIG{menu_lang_liens/formatliste,bloc}|=={'bloc'}|?{div,ul})] id="menu_lang">
42 [(#REM)
43 On liste les langues utilisees dans le site
44 ]
45 <BOUCLE_ListeLangues(POUR){tableau #GET{langues_a_afficher}}>
46 [(#CONFIG{menu_lang_liens/formatliste,bloc}|=={'liste'}|oui)<li [(#COMPTEUR_BOUCLE|=={1}|oui)class="first"] [(#COMPTEUR_BOUCLE|=={#TOTAL_BOUCLE}|oui)class="last"]>]
47 [(#REM)
48 Si la langue n'est pas celle en cours, on fait un lien qui fait 2 actions :
49 - fixer le cookie de langue sur la langue demandee
50 - rediriger sur l'article dans la langue demandee si opportun
51 sinon, revenir sur la page en cours
52 ]
53 [(#CONFIG{menu_lang_liens/format,abrege}|=={'complet'}|oui)[(#SET{nom_langue,[(#VALEUR|traduire_nom_langue)]})]]
54 [(#CONFIG{menu_lang_liens/format,abrege}|=={'abrege'}|oui)[(#SET{nom_langue,[(#VALEUR)]})]]
55 [(#VALEUR|=={#ENV{lang}}|non)
56 [(#REM)
57 url_absolue pour éviter des problèmes en urls arbo
58 ]
59 [<a href="[(#SELF|parametre_url{action,converser}|parametre_url{var_lang,#VALEUR}|parametre_url{redirect,#GET{ListeTraductions}|table_valeur{#VALEUR}|sinon{#SELF}|url_absolue})]" rel="alternate" lang="#VALEUR"[(#CONFIG{menu_lang_liens/format,abrege}|=={'abrege'}|oui) title="[(#VALEUR|traduire_nom_langue|ucfirst|attribut_html)]"] class="langue_#VALEUR">(#GET{nom_langue}|ucfirst)</a>]
60 ]
61 [(#REM)
62 Si la langue est celle en cours, afficher celle-ci en gras, sans lien
63 ]
64 [(#VALEUR|=={#ENV{lang}}|oui)
65 [<strong class="langue_#VALEUR" title="[(#VALEUR|traduire_nom_langue|ucfirst|attribut_html)]">(#GET{nom_langue}|ucfirst)</strong>]
66 ]
67 [(#CONFIG{menu_lang_liens/formatliste,bloc}|=={'liste'}|oui)</li>]
68 </BOUCLE_ListeLangues>
69 </[(#CONFIG{menu_lang_liens/formatliste,bloc}|=={'bloc'}|?{div,ul})]>
70 </BOUCLE_PlusieursLanguesUtilisees>