3 ### /!\ boucle POUR (spip Bonux) ###
6 - ** datas : tableau de donnees
7 liste simple : cle=
>valeur
8 liste avec groupes : cle=
> tableau (cle=
>valeur)
9 - option_intro : chaine de langue de la premiere ligne vide ? (defaut:
"")
10 - cacher_option_intro : pas de premier option vide (defaut:
"")
11 - class : classe(s) css ajoutes au select
12 - defaut : valeur par defaut si pas présente dans l'environnement
13 - valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
16 pour une liste simple :
17 [(#SAISIE{selection,produits,
18 label=
<:plugin:info_produits:>,
23 pour une liste avec groupes :
24 [(#SAISIE{selection,produits,
25 label=
<:plugin:info_produits:>,
35 [(#REM) datas peut être une chaine qu'on sait décomposer ]
36 #SET{datas, #ENV*{datas}}
37 #SET{datas, #GET{datas}|is_string|?{(#GET{datas}|saisies_chaine2tableau), #GET{datas}}}
38 [(#REM) Attention, la valeur ou la valeur forcée peut être une chaine vide. On doit donc tester avec is_null. ]
39 #SET{valeur,#ENV{valeur_forcee}|is_null|?{#ENV{valeur}|is_null|?{#ENV{defaut},#ENV{valeur}},#ENV{valeur_forcee}}}
41 <select name=
"#ENV{nom}" id=
"champ_[(#ENV{id,#ENV{nom}}|saisie_nom2classe)]"[
class=
"(#ENV{class})"][
disabled=
"(#ENV{disable})"][
size=
"(#ENV{size})"][ (#ENV*{attributs})]
>
42 [(#ENV{cacher_option_intro}|non)
<option value=
"">[(#ENV{option_intro})]
</option>]
43 <BOUCLE_selection(POUR){tableau #GET{datas}}
>
45 <optgroup label=
"#CLE">
46 <BOUCLE_cond(CONDITION){si #VALEUR|is_array}
><BOUCLE_optgroup(POUR){tableau #VALEUR}
>
47 <option value=
"#CLE"[(#CLE|=={#GET{valeur}}|oui)
selected=
"selected"]
>#VALEUR
</option>
48 </BOUCLE_optgroup></BOUCLE_cond>
51 <option value=
"#CLE"[(#CLE|=={#GET{valeur}}|oui)
selected=
"selected"]
>#VALEUR
</option>