J'essaie la version dev de SPIP (très attiré par le format maigri !)
Premier problème rencontré :
La boucle
<BOUCLE_photos(DOCUMENTS){id_article=6261}{extension=jpg}{par hasard}>
devient, selon le débusqueur :
SELECT rand() AS alea, documents.id_document
FROM spip_documents AS `documents` LEFT JOIN spip_documents_liens AS l
ON documents.id_document=l.id_document
LEFT JOIN spip_articles AS aa
ON (l.id_objet=aa.id_article AND l.objet="article")
LEFT JOIN spip_breves AS bb
ON (l.id_objet=bb.id_breve AND l.objet="breve")
LEFT JOIN spip_rubriques AS rr
ON (l.id_objet=rr.id_rubrique AND l.objet="rubrique") LEFT JOIN spip_forum AS ff
ON (l.id_objet=ff.id_forum AND l.objet="forum")
INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document )
WHERE ((aa.statut = "publie") OR bb.statut = "publie" OR rr.statut = "publie" OR ff.statut="publie")
AND (documents.mode != 'vignette')
AND (documents.taille > 0 OR documents.distant='oui')
AND (L1.id_objet = 6261)
AND (L1.objet = 'article')
AND (documents.extension = 'jpg')
GROUP BY documents.id_document
ORDER BY alea
et SPIP/MySQL se plaint : « Table 'taizefr_svn.spip_forum' doesn't exist »
(Je n'ai pas installé le plugin _core_/forum )
Merci, c'est déjà mieux. Mais ce n'est toujours pas ça. La boucle rend maintenant le code :
SELECT rand() AS alea, documents.id_document
FROM spip_documents AS `documents` LEFT JOIN spip_documents_liens AS l
ON documents.id_document=l.id_document
LEFT JOIN spip_articles AS aa
ON (l.id_objet=aa.id_article AND l.objet="article")
LEFT JOIN spip_breves AS bb
ON (l.id_objet=bb.id_breve AND l.objet="breve")
LEFT JOIN spip_rubriques AS rr
ON (l.id_objet=rr.id_rubrique AND l.objet="rubrique")
INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document = documents.id_document )
WHERE ((aa.statut = "publie") OR bb.statut = "publie" OR rr.statut = "publie" OR ff.statut="publie")
AND (documents.mode != 'vignette')
AND (documents.taille > 0 OR documents.distant='oui')
AND (L1.id_objet = 6261)
AND (L1.objet = 'article')
AND (documents.extension = 'jpg')
GROUP BY documents.id_document
ORDER BY alea
où le problème consiste dans le « OR ff.statut="publie" », ff étant un alias non-declaré.