[spip-dev] Transmission des mots-clés dans le contexte d'une boucle "MOTS"

Bonjour

Pourquoi un mot-clé trouvé dans une boucle n'est-il pas disponible
dans les critères de sélection d'une boucle incluse ?

Exemple:
Pour contourner la restriction voulant que les brèves ne soient
associables qu'aux seules rubriques "racine", j'affecte le mot-clé de
type="Activite" et de titre="Volley" à une brève et j'affecte le même mot-clé
à la rubrique "chapeau" des activités "Volley-ball".

Dans mon squelette "rubrique", je place la boucle suivante destinée
à afficher les éventuelles brèves associées à la rubrique traitée :

   <BOUCLE_activite(RUBRIQUES){id_rubrique}{type_mot=Activite}>
      <BOUCLE_breves(BREVES){titre_mot}{age<8}{par date}{inverse}>
         ...
      </BOUCLE_breves>
   </BOUCLE_activite>

==> Dans la boucle "breves", la valeur du critère "titre_mot" n'est pas
    renseignée.

J'ai essayé d'autres syntaxes comme :
   <BOUCLE_activite(RUBRIQUES){id_rubrique}{type_mot=Activite}>
      <INCLURE(affBreves.php3){titre_mot}>
   </BOUCLE_activite>
==> le paramètre "titre_mot" n'est pas renseigné.

Alors que :
      <INCLURE(affBreves.php3){titre_mot=Volley}>
==> La valeur du paramètre est bien reçue par le fichier inclus
    qui exécute la boucle "breves" décrite plus haut.

Je crois que tous les critères utilisables dans une boucle
doivent faire partie du contexte dans lequel s'exécute cette boucle.
Quelles sont les restrictions ? Sont-elles justifiées ? Peuvent-elles
être levées ?

A+

François Hamonno wrote:

Pourquoi un mot-clé trouvé dans une boucle n'est-il pas disponible
dans les critères de sélection d'une boucle incluse ?

Bonjour !
Quelle version de Spip est-ce que tu utilises?

(Si c'est une version antérieure à celle du 18 septembre, voir la
discussion - découverte de bug - sur cette liste de cette date: "Boucle MOTS
(suite)" )

Paolo

Merci pour cette réponse rapide.
J'utilise la version 1.7.2.

J'ai donc modifié mes boucles (la balise #TITRE_MOT n'est pas traitée...) :
   <BOUCLE_activite(MOTS){id_rubrique}{type=Activite}>
      <br /> test : #TITRE
      <BOUCLE_breves(BREVES){titre_mot=#_activite:TITRE}{age<8}{par
date}{inverse}>
         ... OK ...
      </BOUCLE_breves>
   </BOUCLE_activite>

Mais cela ne marche pas !
La syntaxe "#_boucle:BALISE" est-elle apparue avec la version 1.8 ?

A+
   François

F.Hamonno wrote:

J'utilise la version 1.7.2.

...

Mais cela ne marche pas !
La syntaxe "#_boucle:BALISE" est-elle apparue avec la version 1.8 ?

Rien d'étonnant. Cette syntaxe, oui - à partir du 1.8. Et même la syntaxe de
pouvoir utiliser des #BALISES dans les critères d'une boucle.

Mais je suis trop endormi : dans ton premier message ta boucle extérieure
était une boucle RUBRIQUES non pas une boucle MOTS !

Si tu essayais :

<BOUCLE_activite(MOTS){id_rubrique}{type=Activite}>
      <br /> test : #TITRE
      <BOUCLE_breves(BREVES){titre_mot}{age<8}{par date}{inverse}>
         ... OK ...
      </BOUCLE_breves>
   </BOUCLE_activite>

Cela marche ?
(si on parle de 1.7.2, cette discussion est peut-être plutôt à poursuivre
sur la liste "user")
Paolo

Tu as raison... c'est un pb 1.7.2 !

Tout marche bien avec la version 1.8b2 que je viens de tester.

Merci pour ton aide.