.=< { Star Gans Tq } >=.
[(#REM)
### /!\ boucle POUR (spip Bonux) ###
Parametres :
- datas : tableau de donnees cle=>valeur
- option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")
- cacher_option_intro : pas de premier option vide (defaut:"")
- class : classe(s) css ajoutes au select
- defaut : valeur par defaut si pas présente dans l'environnement
- valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
Exemple d'appel :
[(#SAISIE{selection_multiple,produits,
label=<:plugin:info_produits:>,
datas=#ARRAY{
cle1,valeur1,
cle2,valeur2,
cle3,valeur3}})]
]
[(#REM) datas peut être une chaine qu'on sait décomposer ]
#SET{datas, #ENV{datas}|saisies_chaine2tableau}
[(#REM) defaut peut être une chaine (plusieurs valeurs ou pas) qu'on sait décomposer ]
#SET{defaut, #ENV{defaut}|saisies_chaine2tableau}
[(#REM) valeur peut être une chaine (plusieurs valeurs ou pas) qu'on sait décomposer ]
#SET{valeur, #ENV{valeur}|saisies_valeur2tableau}
<select name="#ENV{nom}[]" id="champ_[(#ENV{id,#ENV{nom}}|saisie_nom2classe)]" multiple="multiple"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ size="(#ENV{size,10})"][ (#ENV*{attributs})]>
[(#ENV{cacher_option_intro}|non)<option value="">[(#ENV{option_intro})]</option>]
<BOUCLE_selection(POUR){tableau #GET{datas}}>
<B_cond>
<optgroup label="#CLE">
<BOUCLE_cond(CONDITION){si #VALEUR|is_array}>
<BOUCLE_optgroup(POUR){tableau #_selection:VALEUR}>
<option value="#CLE" [(#CLE|in_array{#ENV{valeur_forcee,#GET{valeur,#GET{defaut}}}}|oui) selected="selected"]>#VALEUR</option>
</BOUCLE_optgroup>
</BOUCLE_cond>
</optgroup>
</B_cond>
<option value="#CLE" [(#CLE|in_array{#ENV{valeur_forcee,#GET{valeur,#GET{defaut}}}}|oui) selected="selected"]>#VALEUR</option>
<//B_cond>
</BOUCLE_selection>
</select>