J'ai retrouvé ceci dans les archives, si cela peut servir (une contribution
d'Arno* de mémoire) :
SIGNALER ARTICLES RECENTS
Problème:
Lorsque l'on navigue dans un site de rubrique en rubrique, il est
agréable de se voir signaler d'une manière spécifique (par exemple,
un chouette petit logo "Nouveauté") les articles publiés récemment.
Dans SPIP, on utilise généralement la page du sommaire pour le faire,
mais une fois dans les rubriques du site, il n'y a plus de
signalisation spécifique. Surtout, si on adopte une présentation des
articles "par titre", impossible de signaler là-dedans qu'un de ces
articles a été mis en ligne depuis moins d'un mois (ou une semaine,
au choix...).
Il existe une méthode très simple pour provoquer, à côté du titre
d'un article, le fait qu'il a été publié depuis moins d'une semaine.
Voici le principe, à utiliser par exemple dans une page de RUBRIQUE:
<BOUCLE_articles(ARTICLES){id_rubrique}{par titre}>
<li>#TITRE
<BOUCLE_nouveau(ARTICLES){id_article}{age <
30}>nouveau!!!</BOUCLE_nouveau>
</BOUCLE_articles>
La première boucle (BOUCLE_articles) est connue: dans une page de
rubrique, elle affiche tous les articles contenus dans cette
rubrique, classés ici selon leur titre.
A l'intérieur de cette rubrique, on affiche le #TITRE de l'article
(compléter de manière habituelle avec le surtitre, le soustitre, les
auteurs de l'article, éventuellement l'introduction du texte et le
logo).
Toujours dans cette boucle (donc effectuée pour chaque article
sucessivement), à la suite du #TITRE, il y a cette boucle très
simple: BOUCLE_nouveau:
on sélectionne "les" articles dont l'id_article est le #ID_ARTICLE en
cours; c'est-à-dire qu'on fait une boucle qui sélectionne l'article
dans lequel on se trouve déjà. Ca semble idiot à priori: si on
affichait un #TITRE à l'intérieur de cette boucle, on obtiendrait
exactement le titre qu'on a déjà affiché!
Le "truc", ici, consiste à ajouter un critère {age < 30}: du coup, on
sélectionne l'article courant SI il a été publié depuis moins de 30
jours. Dans la boucle, on affiche donc "nouveau" (ou un zoli logo
pour l'occasion) uniquement si l'article est récent. Le tour est joué.
Si vous avez bien compris, le principe est de faire une boucle qui
resélectionne l'élément qu'on est justement en train d'afficher, mais
en y ajoutant un critère de date ({age < 7} si on veut afficher les
articles de moins d'une semaine). Vous pouvez ainsi utiliser cette
même méthode pour l'affichage des messages des forums: à chaque fois
que vous affichez un message du forum, vous pouvez faire une boucle
du type:
<BOUCLE_nouveau_forum(FORUMS){id_forum}{age <
7}>nouveau</BOUCLE_nouveau_forum>
qui va signaler que c'est un message récent.
-----Message d'origine-----
De : spip-bounces@rezo.net [mailto:spip-bounces@rezo.net]De la part de
Antoine
Envoyé : mardi 13 août 2002 17:41
Cc : spip@rezo.net
Objet : Re: [Spip] Placer un "new" devant les articles r é cents
Stephane Noël wrote:
Mais ça ne marche pas : la boucle article50new renvoie toujours un article
même s'il a plus de 3 jours.
T'es sûr que c'est pas ta deuxième boucle qui prend le relais ?
Y a un <img src="IMG/new.gif"> qui s'y balade et qui a l'air en trop ...
a+
Antoine.
_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.uzine.net/spip