Filtrage avec le critère #ENV, je n'y arrive pas

Bonjour

Je voudrais filtrer avec le critère #ENV{variable} mais je n'y arrive pas.

<BOUCLE_axliste(ARTICLES){#ENV{pasaff}=_xaff_list}{doublons pasaff}>
<br /> ### art x liste : filtré : #TITRE #ENV{pasaff}<br />
</BOUCLE_axliste>

Quelle que soit la valeur de #ENV{pasaff} c'est listé, comme si le critère était absent.
Et pourtant, #ENV{pasaff} existe bel et bien.

Dans Les critères communs à toutes les boucles - SPIP
Je cite:

Spécialement, si on veut utiliser la balise #ENV
— ou tout autre balise prenant des paramètres —,
on doit utiliser la notation :
{titre = #ENV{titre}}
et pas : {titre = [(#ENV{titre})]}.

Je vois bien que je m'en sers à l'envers, mais est ce qu'il y a une solution?
(même si j'écris {_xaff_list=#ENV{pasaff}} j'ai le même mauvais résultat, alors que je m'attendais à une erreur pour une table inexistante).

Merci
A bientôt
Grégoire

Grégoire a écrit :

Bonjour

Je voudrais filtrer avec le critère #ENV{variable} mais je n'y arrive pas.

<BOUCLE_axliste(ARTICLES){#ENV{pasaff}=_xaff_list}{doublons pasaff}>
<br /> ### art x liste : filtré : #TITRE #ENV{pasaff}<br />
</BOUCLE_axliste>

Quelle que soit la valeur de #ENV{pasaff} c'est listé, comme si le critère était absent.
Et pourtant, #ENV{pasaff} existe bel et bien.

[...]
Merci
A bientôt
Grégoire

Bonsoir

Sans solutions, j'y ai renoncé (pour le moment) :slight_smile:
Je passe par un test avant l'<INCLUDE...>

Bonne nuit
Grégoire

Grégoire wrote:

Bonjour

Je voudrais filtrer avec le critère #ENV{variable} mais je n'y arrive pas.

<BOUCLE_axliste(ARTICLES){#ENV{pasaff}=_xaff_list}{doublons pasaff}>
<br /> ### art x liste : filtré : #TITRE #ENV{pasaff}<br />
</BOUCLE_axliste>

Quelle que soit la valeur de #ENV{pasaff} c'est listé, comme si le critère était absent.
Et pourtant, #ENV{pasaff} existe bel et bien.

Dans Les critères communs à toutes les boucles - SPIP
Je cite:

Spécialement, si on veut utiliser la balise #ENV — ou tout autre balise prenant des paramètres —,
on doit utiliser la notation :
{titre = #ENV{titre}}
et pas : {titre = [(#ENV{titre})]}.

Je ne sais pas trop où c'est ecrit dans la doc, mais ça doit l'etre (je me rappelle l'avoir ecrit :wink: ):
la partie gauche des criteres doit être STATIQUE: pas de balise là.
donc tu n'as pas le droit d'ecrire:
{#ENV{pasaff}=_xaff_list}

Je ne comprend pas bien ce que tu essais de faire avec ça? tu ne sais pas exactement sur quel champ tu vas filtrer?

Pierre

Pierre Andrews a écrit :

Grégoire wrote:

Bonjour

Je voudrais filtrer avec le critère #ENV{variable} mais je n'y arrive pas.

<BOUCLE_axliste(ARTICLES){#ENV{pasaff}=_xaff_list}{doublons pasaff}>
<br /> ### art x liste : filtré : #TITRE #ENV{pasaff}<br />
</BOUCLE_axliste>

Quelle que soit la valeur de #ENV{pasaff} c'est listé, comme si le critère était absent.
Et pourtant, #ENV{pasaff} existe bel et bien.

Dans Les critères communs à toutes les boucles - SPIP
Je cite:

Spécialement, si on veut utiliser la balise #ENV
— ou tout autre balise prenant des paramètres —,
on doit utiliser la notation :
{titre = #ENV{titre}}
et pas : {titre = [(#ENV{titre})]}.

Je ne sais pas trop où c'est ecrit dans la doc, mais ça doit l'etre (je
me rappelle l'avoir ecrit :wink: ):
la partie gauche des criteres doit être STATIQUE: pas de balise là.
donc tu n'as pas le droit d'ecrire:
{#ENV{pasaff}=_xaff_list}

Je ne comprend pas bien ce que tu essais de faire avec ça? tu ne sais
pas exactement sur quel champ tu vas filtrer?

Pierre

Bonjour

Justement, ce n'est pas un champ.
#ENV{pasaff} peut avoir plusieurs valeurs, et je voulais qu'au cas ou il ait une certaine valeur, je puisse faire un certain traitement.

Pour le moment, je fais un test comme ceci:

[(#GET{Rss}|!={pasaff}|?{' ',''})<INCLUDE{...} ... {Rss=#GET{pasaff}}>]

Je pense que j'aurais pu écrire la boucle à la place de l'INCLUDE.

A noter que si j'écris:
[(#GET{Rss}|!={pasaff}|?{<INCLUDE{...} ... {Rss=#GET{pasaff}}>,''})]
ça ne fonctionne plus parce que le {Rss=#GET{pasaff}} reste écrit tel quel (n'est pas interprété).

Alors que si j'écris
[(#GET{Rss}|!={pasaff}|?{#INCLUDE{...} ... {Rss=#GET{pasaff}},''})] ben ça marche quand même.

La meilleurs écriture étant [(#GET{Rss}|!={pasaff}|?{' ',''})<INCLUDE{...} ... {Rss=#GET{pasaff}}>]
parce qu'elle est la plus lisible.

A bientôt
Grégoire