ça l'fait bien comme on dit en ville. Je connais les numéros de rubrique à traiter.............
Merci Denis.
Je vais jeter un oeil sur les autres approches dans la foulée...
Krusti.
www.krusti.net
----- Original Message ----- From: "denisb" <denisb@laposte.net>
To: <spip@rezo.net>
Sent: Thursday, November 19, 2009 5:09 PM
Subject: Re: [Spip][SPIP 2.0.9 -14394-] Image aléatoire.
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
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net
Documentation de SPIP : http://www.spip.net/
Irc : de l'aide à toute heure : http://spip.net/irc