Filtrer le contenu d'une boucle avec #COMPTEUR_BOUCLE ?

Bonjour,

Spip 2.1.29

Ci-dessous cette boucle me liste, pour une période donnée, toutes les inscriptions à un évènement.
Je souhaite n’afficher que celles qui sont en dehos du du nombres de places prévues (places dans la table evenements) et je pensais pouvoir utiliser

[(#COMPTEUR_BOUCLE|>{#PLACES}|oui) Afficher les données ] mais cela me renvoie

[(1|>{20}|oui) ] [(2|>{13}|oui) ] [(3|>{13}|oui) ] … avant le tableau.

Il y a donc, je pense une erreur de syntaxe ?

Merci de votre aide

La boucle :

<BOUCLE_exercice (ASSO_EXERCICES) {id_exercice=#ID_EXERCICE}>
<BOUCLE_tri(EVENEMENTS){id_secteur IN 89}{date_debut>=#_exercice:DATE_DEBUT} {date_debut<=#_exercice:DATE_FIN}{par id_evenement}>
[(#COMPTEUR_BOUCLE|>{#PLACES}|oui)
<BOUCLE_inscriptions(ASSO_ACTIVITES){id_evenement}{par id_activite}{quantite>0}>

<tr[ class="(#COMPTEUR_BOUCLE|alterner{‹ row_even ›,‹ row_odd ›})"]>

#TITRE - #ID_EVENEMENT [(#DATE_DEBUT|affdate{d/m/y})] #_evenement:ID_AUTEUR #NOM_FAMILLE [(#DATE_INSCRIPTION|affdate)] #COMPTEUR_BOUCLE #PLACES #ID_ACTIVITE #QUANTITE #PRIX_UNITAIRE

</BOUCLE_inscriptions>
]
</BOUCLE_tri>

</BOUCLE_exercice>

Le 03/04/2018 à 11:42, VivaSpip a écrit :

Il y a donc, je pense une erreur de syntaxe ?

L'erreur que tu fais, c'est que tu inscris une boucle à l'intérieur de la partie conditionnelle d'une balise.
Ce n'est pas possible.
Ou alors il faut l'#INCLURE ou l'<INCLURE> via un squelette intermédiaire.

JL

Le 03/04/2018 à 12:11, JLuc a écrit :

Le 03/04/2018 à 11:42, VivaSpip a écrit :

Il y a donc, je pense une erreur de syntaxe ?

L'erreur que tu fais, c'est que tu inscris une boucle à l'intérieur de la partie conditionnelle d'une balise.
Ce n'est pas possible.
Ou alors il faut l'#INCLURE ou l'<INCLURE> via un squelette intermédiaire.

Ou remplacer les crochets par une boucle CONDITION :

--
nicod_

L'erreur que tu fais, c'est que tu inscris une boucle à l'intérieur de la

partie conditionnelle d'une balise.
Ce n'est pas possible.
Ou alors il faut l'#INCLURE ou l'<INCLURE> via un squelette intermédiaire.

JL

Merci pour ta réponse. Je vais essayer de creuser la question dans ce sens.

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Ou remplacer les crochets par une boucle CONDITION :
La boucle CONDITION - SPIP

JJ'ai Spip Bonux sur cette version de spip' et j'ai essayé la boucle

condition. Mais j'ai une page blanche :

<BOUCLE_tri(EVENEMENTS){id_secteur IN
89}{date_debut>=#_exercice:DATE_DEBUT}
{date_debut<=#_exercice:DATE_FIN}{par id_evenement}>
<BOUCLE_evenement(ASSO_ACTIVITES){id_evenement}{par
id_activite}{quantite>0}>
<BOUCLE_test(CONDITION){si #COMPTEUR_BOUCLE|>{#PLACES} }>
vrai
.....

</BOUCLE_test>
faux
<//B_test>
</BOUCLE_evenement>
</BOUCLE_tri>

Je mets la boucle condition à cet endroit car c'est bien là que j'ai le bon
appel à #COMPTEUR_BOUCLE.

Suis-je dans l'erreur
Merci

Le 03/04/2018 à 14:31, VivaSpip a écrit :

<BOUCLE_tri(EVENEMENTS){id_secteur IN 89}{date_debut>=#_exercice:DATE_DEBUT} {date_debut<=#_exercice:DATE_FIN}{par id_evenement}>
<BOUCLE_evenement(ASSO_ACTIVITES){id_evenement}{par id_activite}{quantite>0}>
<BOUCLE_test(CONDITION){si #COMPTEUR_BOUCLE|>{#PLACES} }>

Une boucle CONDITION n'a pas de compteur.
Il faut préfixer #COMPTEUR pour utiliser celui de la bonne boucle, probablement #_evenement:COMPTEUR
Pareil pour #PLACES

Ou bien faire un #SET juste avant, et utiliser le #GET dans la condition.

--
nicod_