Boucle DATA : utilisation de #ENV{file} comme source de données

Bonjour,

Dans un modèle de la forme <videos|file=mon_fichier.csv|width=130>

J’essaie de faire fonctionner la bouche suivante

<BOUCLE_videos(DATA){ source csv, '/var/www/html/squelettes/videos/#ENV{file}' } {par hasard} >

</BOUCLE_videos>
Et là le fichier de données ne se charge pas.
Par contre :
<BOUCLE_videos(DATA){ source csv, '/var/www/html/squelettes/videos/mon_fichier.csv' } {par hasard} >

</BOUCLE_videos>
Fonctionne parfaitement !
Pourtant #ENV{file} contient bien « mon_fichier.csv »

Y a t-il une restriction à l’utilisation de #ENV{file} dans la définition de données d’une boucle DATA ?

Bonne journée.

BF

Je crois bien que oui, c’est une limitation de l’utilisation de ENV dans un « critère » de boucle, ça devrait fonctionner si tu passes par un set/get si mes souvenirs sont bons.

Je crois bien que oui, c’est une limitation de l’utilisation de ENV dans un « critère » de boucle, ça devrait fonctionner si tu passes par un set/get si mes souvenirs sont bons.

Je viens de tester avec :

#SET{fichier,#ENV{file}}
#GET{fichier} affiche bien mon nom de fichier mais la boucle :

<BOUCLE_videos(DATA){ source csv, '/var/www/html/squelettes/videos/#GET{fichier}' } {par hasard} >

ne charge pas le fichier. :neutral_face:

Dans cet exemple qui fonctionne, un fichier est bien passé par #ENV à la boucle DATA : spip-contrib-extensions/icalendar - modeles/prochainement.html at master - icalendar - SPIP on GIT

Bien vu !

@BernardF essaye plutôt avec un truc comme #VAL{'/var/www/html/squelettes/videos/'}|concat{#ENV{file}}.

Super. Ca fonctionne nickel.
@b_b @chankalan Merci à tous les deux.
BF