Testé avec Spip 2.1.10
Dans Spip les propriétés des articles permettent que chaque article soit suivi d’un forum de discussion.
Un visiteur régulier du site souhaite savoir d’un coup d’oeil quels articles ont eu de nouveaux commentaires dans leur forum. Pour cela on doit créer une liste chronologique du dernier message forum reçu par chacun des articles. Disons par exemple depuis 2 mois. Cette liste ne doit comporter que le dernier message de chaque article, et non pas tous les messages reçus par chaque article depuis 2 mois. Cette liste doit aussi éliminer certaines rubriques et secteurs qu’on ne veut pas montrer sur la page affichée compte tenu du thème de la page, par exemple.
En Spip cela ne peut pas se résoudre par une boucle article, ni par une boucle forum. Par contre l’imbrication de deux boucles et l’utilisation du filtre « doublons » conduit au résultat recherché.
On peut voir le résultat ici en bas de page d’accueil : http://www.plaisance-pratique.com/
Explication :
- La première boucle « doublons » permet d’éliminer tous les fils de discussion des secteurs X,Y,Z
- La seconde boucle « doublons » éliminera tous les fils des rubriques X,Y,Z
- La troisième boucle assure deux fonctions :
- ne pas montrer des résultats qui appartiennent aux secteurs/rubriques X,Y,Z grâce au filtre « doublons »
- afficher une liste des 40 derniers messages, et ceci en ne montrant que le dernier message de chaque article grâce au filtre « doublons », la base de donnée n’est examinée que sur les 60 jours derniers jour.
<!-- Si on veut cacher les réponses forum des articles des secteurs X,Y,Z-->
<BOUCLE_supp_rub_cache(ARTICLES){id_secteur IN X,Y,Z}{tout_voir}>
<BOUCLE_supp_cache(FORUMS){id_article}{plat}{doublons}>
</BOUCLE_supp_cache>
</BOUCLE_supp_rub_cache>
<!-- Si on veut cacher les réponses forum des articles des rubriques X,Y,Z-->
<BOUCLE_supp_rub_cach(ARTICLES){id_rubrique IN X,Y,Z}{tout_voir}>
<BOUCLE_supp_cach(FORUMS){id_article}{plat}{doublons}>
</BOUCLE_supp_cach>
</BOUCLE_supp_rub_cach>
<!-- on affiche la liste de 40 items : l'auteur du dernier message, l'URL du message forum, et le titre de l'article -->
<B_sujet_forum>
#SET{i,0}
<ul>
<BOUCLE_sujet_forum(FORUMS){plat}{doublons}{par date}{inverse}{age<60}>
<B_arti>
[(#GET{i}|<={40}|oui)
<li>[(#DATE|jour)]-[(#DATE|mois)]
]
<BOUCLE_arti(ARTICLES){id_article}{doublons}>
[(#GET{i}|<={40}|oui)
<a href="#URL_AUTEUR" title="[(#NOM)]">[(#NOM)] :
<a href="#URL_FORUM" title="[(#TITRE)]"> [(#TITRE)]</a></li>
]
</BOUCLE_arti>
#SET{i,#GET{i}|plus{1}}
</B_arti>
</BOUCLE_sujet_forum>
</ul>
</B_sujet_forum>
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |