tu as deux fois un critère sur {titre_mot}. A mon avis l’erreur vient de là. Est-ce que ta boucle ne devrait pas être
<BOUCLE_art(ARTICLES)
{id_rubrique=242}
{titre_mot=diffusion_professeurs}
{par titre}{doublons special}>
?
tu as deux fois un critère sur {titre_mot}. A mon avis l'erreur vient de
là. Est-ce que ta boucle ne devrait pas être
<BOUCLE_art(ARTICLES)
{id_rubrique=242}
{titre_mot=diffusion_professeurs}
{par titre}{doublons special}>
?
.Gilles
Cette boucle sélectionne tout les articles de la rubrique 242 avec le mot
clef diffusion_professeurs. Même ceux qui ont aussi le mot clef mediathèque
ou affiche. C'est pour ça que j'avais ajouté {!titre_mot IN
mediathèque,affiche}.
Si si, ça devrait, mais il y a manifestement un bug dans ce cas là un peu compliqué, conséquence du passage aux tables de liens génériques.
Peux tu ouvrir un ticket sur core.spip.org avec ta boucle qui coince, le résultat SQL en 2.1 et le résultat SQL en 3.0 ?
SELECT articles.titre, articles.id_article, articles.lang
FROM spip_articles AS `articles`
INNER JOIN spip_mots_liens AS L1 ON ( L1.id_objet = articles.id_article AND L1.objet='article')
INNER JOIN spip_mots AS L2 ON ( L2.id_mot = L1.id_mot )
WHERE (articles.statut = 'publie')
AND (articles.id_rubrique = 242)
AND (L2.titre = 'diffusion_professeurs')
AND NOT((articles.id_article IN (
SELECT L1.id_objet AS id
FROM spip_mots_liens AS `L1`
INNER JOIN spip_mots AS L2 ON ( L2.id_mot = L1.id_mot )
WHERE ((L2.titre IN ('mediathèque','affiche')))
AND L1.objet='article')))
GROUP BY articles.id_article
ORDER BY articles.titre