SELECT documents_liens.id_objet
FROM spip_documents_liens AS `documents_liens`
INNER JOIN spip_rubriques AS L1 ON ( L1.id_rubrique = documents_liens.id_objet )
WHERE (documents_liens.id_document = 445)
AND (documents_liens.objet = 'rubrique')
AND (L1.id_rubrique = 'documents_liens.id_objet')
GROUP BY documents_liens.id_document,documents_liens.id_objet,documents_liens.objet
La clause AND (L1.id_rubrique = 'documents_liens.id_objet') me semble
problématique alors que le INNER JOIN semble correct
SELECT 1
FROM spip_documents AS `documents`
INNER JOIN spip_documents_liens AS L1 ON ( L1.id_document =
documents.id_document )
WHERE (documents.mode != 'vignette')
AND (documents.taille > 0 OR documents.distant='oui')
AND (documents.id_document = 442)
AND (L1.id_objet > 0)
AND (L1.objet = 'rubrique')
GROUP BY documents.id_document
Or il y a un petit pb ça fait un SELECT 1 FROM ... ça ne prend pas en
compte les balises déclarées dans la boucle
Si j'execute la requete à la main avec SELECT id_objet FROM ... je
retrouve bien mes petits
Essaie donc
<BOUCLE_doc(DOCUMENTS){id_document=xx}{id_rubrique>0}>
#ID_DOCUMENT<br />
</BOUCLE_doc>
Ok lors de mest test j'avais mis #ID_OBJET et #ID_RUBRIQUE, cela ne marche pas. #ID_DOCUMENT me retroune bien un resultat mais dans ce cadre ce n'est
pas tres pertinent
Remarque ils pourraient être bon de faire (re)venir les balises #ID_RUBRIQUE, #ID_ARTICLE, ... #ID_OBJET c'est vraimernt génial mais pour le webmestre j'ai un doute
sur la pertinence de ce nouveau concept.
Quand a-t-il été question de faire ça ?
C'est une limitation des squelettes de SPIP de ne pouvoir faire une jointure sur des clés de nom différent,
ça ne me parait pas envisageable de résoudre ça dans l'immédiat.
Sauf le cas particulier de jointure traité automatiquement par le compilateur :
de id_xx vers (id_objet ET objet=xx)
qui se traduit par un
ON (a.id_article=L.id_objet )
WHERE L.objet=article
et de mémoire j'y avais ajouté un select id_objet AS id_xx
(à moins que je n'ai rêvé l'avoir fait)
Cédric