19 Nov 17:09
Re: [SPIP 2.0.9 -14394-] Image aléatoire.
denisb <denisb <at> laposte.net>
2009-11-19 16:09:09 GMT
2009-11-19 16:09:09 GMT
Stephane a écrit :
> <BOUCLE_doc_image_principale(DOCUMENTS spip_documents_articles
> spip_articles){id_rubrique IN 4,5,7}{par hasard} {extension==jpg}
> {mode=image} {doublons} {0,1}>
> #SET{current_id_art, #ID_ARTICLE}
> <a href="#URL_ARTICLE"><img src="IMG/[(#FICHIER)]" style="width:250px;"
> /></a>
> </BOUCLE_doc_image_principale>
en 2.0.x
on devrait pouvoir faire, à condition de connaître
les id_rubrique à exclure :
<BOUCLE_d(DOCUMENTS_LIENS articles documents)
{objet = article}
{articles.id_rubrique !IN 3,5,16}
{documents.extension = jpg}
{documents.mode = image}
{par hasard}
{0, 1}>
#SET{current_id_art, #ID_ARTICLE}
<a href="#URL_ARTICLE">
<img src="IMG/#FICHIER" style="width:250px;" />
</a>
</BOUCLE_d>
requête sql générée :
SELECT rand() AS alea,
L1.id_article,
L2.fichier
FROM spip_documents_liens AS `documents_liens`
INNER JOIN spip_documents AS L2
ON L2.id_document = documents_liens.id_document
INNER JOIN spip_articles AS L1
ON L1.id_article = documents_liens.id_objet
AND documents_liens.objet='article'
WHERE documents_liens.objet = 'article'
AND L1.id_rubrique NOT IN (3,5,16)
AND L2.extension = 'jpg'
AND L2.mode = 'image'
GROUP BY documents_liens.id_document,
documents_liens.id_objet,
documents_liens.objet
ORDER BY alea
LIMIT 0,1
RSS Feed