source: spip-zone/_plugins_/saisies/trunk/saisies/mot.html @ 88887

Last change on this file since 88887 was 88887, checked in by marcimat@…, 6 years ago

Permettre pour la saisie mot d'avoir obligatoirement une balise SELECT.

Depuis r81068 en présence d'un id_groupe, la saisie mots peut afficher des
cases à cocher. C'est perturbant lorsqu'on l'utilise couplé à la librairie JS 'Chosen',
qui ne sait rien faire de ces cases à cocher.

Exemple :
`
[(#SAISIE{mot,mots,

obligatoire=oui,
li_class=haut,
class=chosen,
id_groupe=4,
multiple=oui,
forcer_select=oui,
label=<:leplugin:label_selectionner_thematiques:>})]

`

File size: 2.9 KB
Line 
1[(#REM)
2
3  Parametres :
4  - class : classe(s) css ajoutes au select
5  - multiple : si quelquechose est passe, le select est multiple, sinon, c'est un select simple (seulement si non multiple)
6  - option_intro : chaine de langue de la premiere ligne vide ? (defaut:"")
7  - cacher_option_intro : pas de premier option vide  (defaut:"")
8  - id_groupe : groupe des mots clés à afficher
9                Note : si ce groupe de mot est configuré pour avoir plusieurs
10                mots possibles, alors une liste de cases à cocher est
11                affichée au lieu du sélecteur habituel.
12                Utiliser `forcer_select=oui` pour éviter ce comportement
13                (par exemple en utilisation avec Chosen)
14  - defaut : valeur par defaut si pas présente dans l'environnement
15  - valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
16  - size : la taille du sélecteur (seulement si multiple)
17 
18  Exemple d'appel :
19        [(#SAISIE{mot, en_region,
20                label=<:plugin:en_region:>})]
21]
22<BOUCLE_multiples(GROUPES_MOTS){id_groupe}{unseul!=oui}{si #ENV{forcer_select}|non}>
23        [(#REM) defaut peut être une chaine (plusieurs valeurs ou pas) qu'on sait décomposer ]
24        #SET{defaut, #ENV{defaut}|saisies_chaine2tableau}
25        [(#REM) valeur doit être un tableau ! ]
26        #SET{valeur, #ENV{valeur}|saisies_valeur2tableau}
27        [(#REM) valeur doit être un tableau ! ]
28        #SET{valeur_forcee, #ENV{valeur_forcee}|saisies_valeur2tableau}
29        <BOUCLE_checkmots(MOTS){par num titre, titre}{id_groupe}>
30        <div class="choix choix_#ID_MOT[ (#ENV{class})]">[(#SET{id,champ_[(#ENV{id,#ENV{nom}}|saisie_nom2classe)]_[(#ID_MOT|concat{'-',#ENV{nom}}|md5)]})]
31                [(#SET{checked,[(#ID_MOT|in_array{#GET{valeur_forcee,#GET{valeur,#GET{defaut}}}}|oui)]})]
32                <input type="checkbox" name="#ENV{nom}[]" class="checkbox" id="#GET{id}"[ (#GET{checked})checked="checked"] value="#ID_MOT"[ (#ENV*{attributs})] />
33                <label for="#GET{id}"[(#GET{checked})class="on"]>#TITRE</label>
34        </div>
35        </BOUCLE_checkmots>
36</BOUCLE_multiples>
37
38#SET{groupe,''}
39<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})]>
40[(#ENV{cacher_option_intro}|ou{#ENV{multiple}}|non)
41        <option value="">[(#ENV{option_intro})]</option>]
42<BOUCLE_mots(MOTS){par id_groupe, num titre, titre}{id_groupe ?}>[(#ENV{id_groupe,''}|non|et{#GET{groupe}|=={#ID_GROUPE}|non}|oui)
43        [(#GET{groupe}|intval|>{0}|oui)</optgroup>]
44        [<optgroup label="(#TYPE|attribut_html)">][(#SET{groupe,#ID_GROUPE})]]
45        [(#ENV{multiple}|non)<option value="#ID_MOT"[(#ID_MOT|=={#ENV{valeur_forcee,#ENV{valeur,#ENV{defaut}}}}|oui)selected="selected"]>#TITRE</option>]
46        [(#ENV{multiple}|oui)<option value="#ID_MOT"[(#ID_MOT|in_array{#ENV{valeur_forcee,#ENV{valeur,#ENV{defaut,#ARRAY}}}}|oui)selected="selected"]>#TITRE</option>]
47</BOUCLE_mots>
48        [(#ENV{id_groupe,''}|non)
49        </optgroup>]
50</select>
51<//B_multiples>
Note: See TracBrowser for help on using the repository browser.