source: spip-zone/_plugins_/saisies/trunk/saisies-vues/choix_grille.html @ 114751

Last change on this file since 114751 was 114751, checked in by nicod@…, 8 months ago

Pour l'export des réponses de Formidable, structurer les réponses aux grilles de choix dans un format exploitable.
Exemple : * Je suis à l'aise|1 * Je suis content|2|4 * Je donne mon avis|3|5|6
C'est un premier jet, l'idéal serait d'avoir une colonne par ligne de la grille, mais ça impliquerait des modifications plus profondes dans les fonctions d'export, et le fait d'indiquer cette saisie comme étant "multicolonnes".
A voir plus tard, peut être.

File size: 1.3 KB
Line 
1<BOUCLE_test_export(CONDITION){si #ENV{valeur_uniquement}}>
2[(#REM) dans le cas d'un export des réponses, on construit des données structurées,exploitables par un script ]
3
4[(#REM) data peut être une chaine qu'on sait décomposer ]
5#SET{data_cols, #ENV*{data_cols}|saisies_chaine2tableau}
6#SET{data_rows, #ENV*{data_rows}|saisies_chaine2tableau}
7
8[(#REM) valeur doit être un tableau ! ]
9#SET{valeur, #ENV{valeur_forcee, #ENV{valeur}}|saisies_valeur2tableau}
10
11#SET{separateur,'|'}
12
13<BOUCLE_lignes (DATA) {source table,#GET{data_rows}}{'<br>'}>
14        #SET{choix,#ARRAY}
15        #SET{libelles, #VALEUR|explode{'|'}}
16        <B_colonnes>
17        <BOUCLE_colonnes (DATA) {source table,#GET{data_cols}}>
18                #SET{coche, #CLE|=={#GET{valeur/#_lignes:CLE}}}
19                [(#ENV{multiple}|et{#ENV{multiple}|!={non}}|oui)
20                        #SET{coche, #CLE|in_array{#GET{valeur/#_lignes:CLE, #ARRAY}}}
21                ]
22                [(#GET{coche}|oui)
23                        [(#SET{valeur_choix,#ENV{cle_ou_valeur,valeur}|=={cle}|?{#CLE,#GET{data_cols/#CLE}}})]
24                        #SET{choix,#GET{choix}|push{#GET{valeur_choix}}
25                ]
26        </BOUCLE_colonnes>
27        [* (#GET{libelles}|table_valeur{0})#GET{separateur}][(#GET{choix}|join{#GET{separateur}})]
28        </B_colonnes>
29</BOUCLE_lignes>
30
31</BOUCLE_test_export>
32[(#REM) dans le cas d'un affichage de la réponse, on réaffiche la saisie en mode disabled ]
33#INCLURE{fond=saisies/choix_grille,env,disabled=disabled}
34<//B_test_export>
Note: See TracBrowser for help on using the repository browser.