[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / saisies / saisies / checkbox.html
1 [(#REM)
2
3 ### /!\ boucle POUR (spip Bonux) ###
4
5 Parametres :
6 - datas : tableau de donnees cle=>valeur
7 - defaut : valeur par defaut si pas présente dans l'environnement
8 - valeur_forcee : valeur utilisee meme si une valeur est dans l'environnement
9
10 Exemple d'appel :
11 [(#SAISIE{checkbox, criteres,
12 label=<:plugin:choisir_criteres:>,
13 defaut=#ARRAY{0,cle1,1,cle3},
14 defaut=cle2,
15 datas=#ARRAY{
16 cle1,valeur1,
17 cle2,valeur2,
18 cle3,valeur3}})]
19 ]
20
21 [(#REM) datas peut être une chaine qu'on sait décomposer ]
22 #SET{datas, #ENV*{datas}|saisies_chaine2tableau}
23
24 [(#REM) defaut peut être une chaine (plusieurs valeurs ou pas) qu'on sait décomposer ]
25 #SET{defaut, #ENV{defaut}|saisies_chaine2tableau}
26
27 [(#REM) valeur doit être un tableau ! ]
28 #SET{valeur, #ENV{valeur}|saisies_valeur2tableau}
29
30
31 [(#REM) lorsque qu'on donne un 'disabled' qui est une chaine,
32 il faut la transformer en tableau. Ce tableau est vide si la chaine valait ''
33 sinon une clé 0 serait considérée disabled à tord
34 ]
35 #SET{disabled,#ENV{disable}}
36 [(#GET{disabled}|is_string|oui)
37 [(#GET{disabled}|strlen|non) #SET{disabled,#ARRAY} ]
38 [(#GET{disabled}|oui) #SET{disabled,#ARRAY|push{#GET{disabled}}} ]
39 ]
40 <BOUCLE_checkbox(POUR){tableau #GET{datas}}>
41 <div class="#ENV{choix,choix}">
42 <input type="checkbox" name="#ENV{nom}[]" class="checkbox" id="champ_#ENV{nom}_#COMPTEUR_BOUCLE"[ (#CLE|in_array{#ENV{valeur_forcee,#GET{valeur,#GET{defaut}}}}|oui)checked="checked"] value="#CLE"[(#CLE|in_array{#GET{disabled}}|oui) disabled="disabled"] />
43 <label for="champ_#ENV{nom}_#COMPTEUR_BOUCLE">#VALEUR</label>
44 </div>
45 </BOUCLE_checkbox>