[spip-dev] Une {fusion] problématique

J'ai voulu faire une BOUCLE pour n'afficher que les MOTS clefs rattachés à des articles pour un groupe de mot clef donnés :
<BOUCLE_Mots(ARTICLES mots_articles mots){mots.id_groupe}{par mots.titre}{fusion L3.id_mot}>

Et j'ai été obligé de mettre L3.id_mot au lieu de mots.id_mots parce que la requête générée par SPIP faisait grogner MySQL : id_mot ambigu

Remarque : la requête est écrite dans cet ordre avec ARTICLES en premier, sinon, avec le plugin Accès Restreint 3, si je fait :
(MOTS mots_articles articles), j'ai tous les mots rattachés à des articles, même si les articles sont protégés.

http://trac.rezo.net/trac/spip/changeset/13603
et il n'y parait plus.

Committo,Ergo:Sum

* Emmanuel Saint-James tapuscrivait, le 12/01/2009 00:16:

J'ai voulu faire une BOUCLE pour n'afficher que les MOTS clefs rattachés à des articles pour un groupe de mot clef donnés :
<BOUCLE_Mots(ARTICLES mots_articles mots){mots.id_groupe}{par mots.titre}{fusion L3.id_mot}>

Et j'ai été obligé de mettre L3.id_mot au lieu de mots.id_mots parce que la requête générée par SPIP faisait grogner MySQL : id_mot ambigu

http://trac.rezo.net/trac/spip/changeset/13603
et il n'y parait plus.

Merci, ça marche.
Je continue dans mes investigations sur cette boucle alambiquée
    <BOUCLE_Mots(ARTICLES mots_articles mots){mots.id_groupe}{par mots.titre}{fusion mots.id_mot}>
      <BOUCLE_TitreMot(MOTS){id_mot}>
      [<option value="(#ID_MOT|unique)">[(#TITRE|supprimer_tags)]</option>]
      </BOUCLE_TitreMot>
    </BOUCLE_Mots>

En principe, la fusion devrait rendre #ID_MOT distinct.
Mais j'ai été obligé d'utiliser le filtre |unique pour ne pas avoir de doublons.

D'autre part, bien que la première boucle produise une requête SQL qui pourrait renvoyer directement le titre des mots, j'ai été amené à faire une sous boucle pour retrouver ce titre.
En effet, dans les critères, {mots.id_mot} fonctionne.
Mais dans les balises, il ne me semble pas qu'il y ait l'équivalent : #MOTS.ID_MOT ne fonctionne pas.
Je suis passé à côté de la bonne syntaxe ?
Ou ce n'est pas prévu par le compilateur ?

Il me semble avoir vu passer ici le besoin : {mot.titre AS titremot}.
ça résoudrait ce problème.