Bonjour,
J’ai mis le doigt sur ce qui s’apparente à un bug ou bien en tout cas un comportement non souhaité :
le contexte/résultat d’une boucle avec un critère personnalisé est perdu si cette boucle contient une boucle condition.
J’utilise un critère personnalisé {entreprises_details} qui me permet depuis mon objet spip_entreprises d’accéder à la table spip_entreprises_details partageant la même clef (id_entreprise) en faisant un JOIN.
<BOUCLE_entreprises(ENTREPRISES){entreprises_details}{pagination 10}>
#TITRE a
// Valeur sur la table spips_entreprises_details bien affichée
#NOMBRE_COLLABORATEURS collaborateurs
</BOUCLE_entreprises>
On obtient : AB Menuiserie a 2 collaborateurs
Avec une boucle condition, rien ne va plus :
<BOUCLE_entreprises(ENTREPRISES){entreprises_details}{pagination 10}>
#TITRE
<BOUCLE_condition(CONDITION){si #ENV{exec}|=={mapage}|oui}>
// Ne renvoie rien !
a #NOMBRE_COLLABORATEURS collaborateurs
</BOUCLE_condition>
</BOUCLE_entreprises>
On obtient : AB Menuiserie a collaborateurs
J’ai bien évidemment trituré la boucle condition en testant d’autres choses comme {si #VAL{1}|=={1}|oui}
, mais rien n’y fait, ce sont les valeurs/colonnes obtenus via le critère personnalisé qui s’évanouissent à l’intérieur d’une boucle condition.
Seuls les champs « natifs » de la boucle parente (ici spip_entreprises ) demeurent accessibles à l’intérieur de la boucle condition.
Qu’en pensez-vous ?
Pierre-Jean