Parametres :
- class : classe(s) css ajoutes au select
+ - multiple : si quelquechose est passe, le select est multiple, sinon, c'est un select simple (seulement si non multiple)
- option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")
- cacher_option_intro : pas de premier option vide (defaut:"")
- id_groupe : groupe des mots clés à afficher
+ Note : si ce groupe de mot est configuré pour avoir plusieurs
+ mots possibles, alors une liste de cases à cocher est
+ affichée au lieu du sélecteur habituel.
+ Utiliser `forcer_select=oui` pour éviter ce comportement
+ (par exemple en utilisation avec Chosen)
- defaut : valeur par defaut si pas présente dans l'environnement
- valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
+ - size : la taille du sélecteur (seulement si multiple)
+ - groupes_exclus : liste d'ids de groupe dont on ne veut pas les mots
Exemple d'appel :
[(#SAISIE{mot, en_region,
label=<:plugin:en_region:>})]
]
-<BOUCLE_multiples(GROUPES_MOTS){id_groupe}{unseul!=oui}>
+<BOUCLE_multiples(GROUPES_MOTS){id_groupe}{unseul!=oui}{si #ENV{forcer_select}|non}>
[(#REM) defaut peut être une chaine (plusieurs valeurs ou pas) qu'on sait décomposer ]
#SET{defaut, #ENV{defaut}|saisies_chaine2tableau}
[(#REM) valeur doit être un tableau ! ]
</div>
</BOUCLE_checkmots>
</BOUCLE_multiples>
-<select name="#ENV{nom}" id="champ_[(#ENV{id,#ENV{nom}}|saisie_nom2classe)]"[ class="(#ENV{class})"][ value="(#ENV{valeur_forcee,#ENV{valeur}})"][ disabled="(#ENV{disable})"][ (#ENV*{attributs})]>
-[(#ENV{cacher_option_intro}|non)
+
+#SET{groupe,''}
+<select name="#ENV{nom}[(#ENV{multiple}|?{\[\]})]" id="champ_[(#ENV{id,#ENV{nom}}|saisie_nom2classe)]"[ class="(#ENV{class})"][(#ENV{multiple}|oui) multiple="multiple"[ size="(#ENV{size})"]][ disabled="(#ENV{disable})"][ (#ENV*{attributs})]>
+[(#ENV{cacher_option_intro}|ou{#ENV{multiple}}|non)
<option value="">[(#ENV{option_intro})]</option>]
-<BOUCLE_mots(MOTS){par id_groupe, num titre, titre}{id_groupe ?}>[(#ENV{id_groupe,''}|non)
- [<optgroup label="(#TYPE|unique|attribut_html)" />]
- ]<option value="#ID_MOT" [(#ID_MOT|=={#ENV{valeur_forcee,#ENV{valeur,#ENV{defaut}}}}|oui) selected="selected"]>#TITRE</option>
+<BOUCLE_mots(MOTS){par id_groupe, num titre, titre}{id_groupe ?}{!id_groupe IN #ENV{groupes_exclus}}>[(#ENV{id_groupe,''}|non|et{#GET{groupe}|=={#ID_GROUPE}|non}|oui)
+ [(#GET{groupe}|intval|>{0}|oui)</optgroup>]
+ [<optgroup label="(#TYPE|attribut_html)">][(#SET{groupe,#ID_GROUPE})]]
+ [(#ENV{multiple}|non)<option value="#ID_MOT"[(#ID_MOT|=={#ENV{valeur_forcee,#ENV{valeur,#ENV{defaut}}}}|oui)selected="selected"]>#TITRE</option>]
+ [(#ENV{multiple}|oui)<option value="#ID_MOT"[(#ID_MOT|in_array{#ENV{valeur_forcee,#ENV{valeur,#ENV{defaut,#ARRAY}}}}|oui)selected="selected"]>#TITRE</option>]
</BOUCLE_mots>
+ [(#ENV{id_groupe,''}|non)
+ </optgroup>]
</select>
<//B_multiples>