Critère age conditionnel

Salut,

je cherche à utiliser le critère {age} dans une boucle uniquement il est défini dans l’environnement :

  • si age n’existe pas, je veux tous les articles
  • s’il existe, je veux les articles dont l’âge est inférieur à age.

J’ai tenté <BOUCLE_nouveaute(ARTICLES) { age <= #ENV{} } > mais bien sûr, ça ne marche pas si age n’est pas défini… Pareil avec le critère conditionnel « ? »…

Y a t’il une solution ?

Merci,

jean marie

Le 04/09/17 à 13:36, Jean Marie Grall a écrit :

Salut,

je cherche à utiliser le critère {age} dans une boucle uniquement il est
défini dans l’environnement :
- si age n’existe pas, je veux tous les articles
- s'il existe, je veux les articles dont l'âge est inférieur à age.

J'ai tenté <BOUCLE_nouveaute(ARTICLES) { age <= #ENV{} } > mais bien
sûr, ça ne marche pas si age n'est pas défini... Pareil avec le critère
conditionnel "?"...

Y a t'il une solution ?

Merci,

            jean marie

Il ya pas mal de temps, 'avais fait un truc comme ça
<BOUCLE_next_expire(ARTICLES){id_rubrique?}{par date}{pagination }{age>-(#GET{delai})}{date>=#DATE|affdate{'Y-m-d'}}>
Ça marchait très bien et pour répondre à ton problème, on pourrait rajouter en amont un truc du genre #SET{delai,(#ENV{delai}|sinon{0})}
(pas testé)
est-ce que je réponds à côté ?

Le 04/09/2017 à 13:36, Jean Marie Grall a écrit :

Salut,

je cherche à utiliser le critère {age} dans une boucle uniquement il est défini dans l’environnement :
- si age n’existe pas, je veux tous les articles
- s'il existe, je veux les articles dont l'âge est inférieur à age.

J'ai tenté <BOUCLE_nouveaute(ARTICLES) { age <= #ENV{} } > mais bien sûr, ça ne marche pas si age n'est pas défini...

Avec #ENV{} tu ne dis pas ce à quoi tu compares.
Il faudrait #ENV{age}.

Mais la syntaxe serait mauvaise dans le cas ou age n'est pas dans l'env.
Il faut donc spécifier une valeur par défaut
suffisamment grade pour ne pas restreindre la sélection.

Essaie {age <= #ENV{age,999999999}}>

JL

Salut JLuc,
Salut Manu,

merci à tous les 2 pour vos réponses.

Le 04/09/2017 à 22:57, JLuc a écrit :

Avec #ENV{} tu ne dis pas ce à quoi tu compares.
Il faudrait #ENV{age}.

oui, c'est une erreur de copié collé dans mon mail :slight_smile:

Mais la syntaxe serait mauvaise dans le cas ou age n'est pas dans l'env.
Il faut donc spécifier une valeur par défaut
suffisamment grade pour ne pas restreindre la sélection.

Essaie {age <= #ENV{age,999999999}}>

Bien vu !
Avec la valeur par défaut, ça fonctionne.

Merci pour l'astuce...

             jean marie