[Résolu] spip 4.2.11 et boucle DATA

Bonjour

Sur un site, j’ai un formulaire de recherche multi-critères sur un fichier .csv bâti ainsi (code simplifié)

<!-- construction d'un tableau pour chaque critère avec toutes les valeurs possibles -->
#SET{entrees0,#ARRAY}
    <BOUCLE_tableau0(DATA){source csv, #CHEMIN{tableaux/etudsec.csv}}{1,n}{fusion /0}>
        #SET{entrees0, #GET{entrees0}|push{#VALEUR{0}}}
    </BOUCLE_tableau0>

Puis

	<form class="form" action="#ENV{action}" method="post" >
	#ACTION_FORMULAIRE{#ENV{action}}

<!-- premier critère de choix -->
		<select name="etudsec0" size="1">
			<option value="">
				<BOUCLE_etudsec01(DATA){source csv, #CHEMIN{tableaux/etudsec.csv}}{0,1}>
                    #VALEUR{0}
				</BOUCLE_etudsec01>
			</option>

			<BOUCLE_etudsec02(DATA){source csv, #CHEMIN{tableaux/etudsec.csv}}{fusion /0}{par /0}
            {niveau IN #LISTE{#GET{entrees0}}}>
				[<option value="#VALEUR{0}" [(#ENV{etudsec0}|=={#VALEUR{0}}|?{'selected="selected"',''})]>(#VALEUR{0})</option>]
			</BOUCLE_etudsec02>
		</select>

Tout fonctionnait bien en spip3 mais depuis le passage en spip4, la BOUCLE_etudsec02 ne renvoie aucune valeur.

Merci pour votre aide.

Le fichier complet est ici
http://spip.pastebin.fr/137947

Une petite relance …

Bonjour,

Le #GET{entrees0} retourne bien des valeurs ?
Tu as essayer de réduire les critères de ta boucle ?

Merci Pierre de ton aide.

Si je mets un #GET{entrees0} juste après la BOUCLE_tableau0, jobtiens « Array »
Est-ce normal ?

ah, si je mets [(#GET{entrees0}|foreach)], j’obtiens
0=> Lycée
1=> Collège

ce srait donc le critère {niveau IN #LISTE{#GET{entrees0}}} qui poserait souci.
Si je l’enlève, j’obtiens

NIVEAU
Collège
Lycée
NIVEAU

Si je le remets, je n’ai que

NIVEAU

En effet, #LISTE{#GET{entrees0}} renvoie « Array »

{niveau IN #GET{entrees0}} fera le job je pense, #LISTE sert à construire un array à partir de valeur (et non à partir d’un array) cf #LISTE - SPIP

Bingo !!
Merci b_b