[Spip] #MENU_LANG et Site multilingue sectorisé

On 26/06/12 23:35, matthieu leorat wrote:
> je voudrais rediriger vers la traduction
> de l'article (ou de la rubrique) dans la langue choisie dans
> la liste déroulante.

Pour ce que ça vaut, sur taize.fr j'utilise la boucle suivante, sans #MENU_LANG et sans plugin :

<BOUCLE_art0(ARTICLES){id_article}>
<B_trads1>
<form id="langselect" action="#URL_SITE_SPIP/" method="get">
<select size="1" name="langs" onchange="if (options[selectedIndex].value){location = options[selectedIndex].value; }">
<option lang="#LANG" value="">[(#LANG|traduire_nom_langue)]</option>
<BOUCLE_trads1(ARTICLES){traduction}{exclus}{par lang}>
<option lang="#LANG" value="[(#URL_ARTICLE|parametre_url{debut_images,#ENV{debut_images}})]">[(#LANG|traduire_nom_langue)]</option>
</BOUCLE_trads1>
</select>
</form>
</B_trads1>
<:no_translation:>
<//B_trads1>
</BOUCLE_art0>

Paolo

Dans le plugin Site multilingue facile
(Site multilingue facile - SPIP-Contrib), qui t'installe
tout l'environnement d'un siteavec langue par secteur, le menu langue
est changé de la manière suivante, afin de permettre de s'adapter aux
articles, rubriques ou autres pages

-> formulaires/menu_lang.html
[<div class="formulaire_spip formulaire_menu_lang"
id="formulaire_menu_lang">
<form method="post" action="#"><div>
    <select
onchange="window.open(this.options#VAL{&#91;}this.selectedIndex#VAL{&#93;}.value,'_top')"
name="menu_lang" id="menu_lang">
          (#INCLURE{fond=formulaires/inc-options-langues,env})
    </select>
    <noscript><p class="boutons"><input type="submit" class="submit"
value="&gt;&gt;" /></p></noscript>
</div></form>
</div>]

puis formulaires/inc-options-langues.html

<BOUCLE_article(ARTICLES){id_article}>
         <BOUCLE_traductions(ARTICLES) {traduction} {par lang}>
             <option
value='[(#URL_ACTION_AUTEUR{'converser',#LANG&var_lang=#LANG,[(#URL_ARTICLE|parametre_url{lang,'','&'})]}|parametre_url{arg,''})]'[(#LANG|=={#ENV{lang}}|oui)selected="selected"]
dir="[(#LANG|lang_dir{ltr,rtl})]">[(#LANG|traduire_nom_langue)]</option>
         </BOUCLE_traductions>
</BOUCLE_article>
         [(#REM) Sinon, si on est dans le contexte d'une rubrique, on
affiche les langues des rubriques]
            <BOUCLE_rubrique(RUBRIQUES){id_rubrique}>
                    <BOUCLE_traductions_rub(RUBRIQUES) {traduction} {par
lang}>
                        <option
value='[(#URL_ACTION_AUTEUR{'converser',#LANG&var_lang=#LANG,[(#URL_RUBRIQUE|parametre_url{lang,'','&'})]}|parametre_url{arg,''})]'[(#LANG|=={#ENV{lang}}|oui)selected="selected"]
dir="[(#LANG|lang_dir{ltr,rtl})]">[(#LANG|traduire_nom_langue)]</option>
                     </BOUCLE_traductions_rub>
       </BOUCLE_rubrique>
         [(#REM) Sinon, si on on boucle sur les langues disponibles dans
le public grâce à spip-bonux]
             
<BOUCLE_langue_possibles(RUBRIQUES){id_parent=0}{id_trad!=0}{0,1}>
                 <BOUCLE_langue_possibles_trad(RUBRIQUES) {traduction}
{par lang}>
                        <option
value='[(#URL_ACTION_AUTEUR{'converser',#LANG&var_lang=#LANG,[(#SELF|parametre_url{lang,'','&'})]}|parametre_url{arg,''})]'[(#LANG|=={#ENV{lang}}|oui)selected="selected"]
dir="[(#LANG|lang_dir{ltr,rtl})]">[(#LANG|traduire_nom_langue)]</option>
                  </BOUCLE_langue_possibles_trad>
                </BOUCLE_langue_possibles>
       
         <//B_rubrique>
<//B_article>

puis
Paolo said the following on 27/06/12 00:16:

On 26/06/12 23:35, matthieu leorat wrote:
> je voudrais rediriger vers la traduction
> de l'article (ou de la rubrique) dans la langue choisie dans
> la liste déroulante.

Pour ce que ça vaut, sur taize.fr j'utilise la boucle suivante, sans
#MENU_LANG et sans plugin :

<BOUCLE_art0(ARTICLES){id_article}>
<B_trads1>
<form id="langselect" action="#URL_SITE_SPIP/" method="get">
<select size="1" name="langs" onchange="if
(options[selectedIndex].value){location =
options[selectedIndex].value; }">
<option lang="#LANG" value="">[(#LANG|traduire_nom_langue)]</option>
<BOUCLE_trads1(ARTICLES){traduction}{exclus}{par lang}>
<option lang="#LANG"
value="[(#URL_ARTICLE|parametre_url{debut_images,#ENV{debut_images}})]">[(#LANG|traduire_nom_langue)]</option>
</BOUCLE_trads1>
</select>
</form>
</B_trads1>
<:no_translation:>
<//B_trads1>
</BOUCLE_art0>

Paolo

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc