Remarque :
SPIP 1.8 propose une solution bien plus élégante pour faire la même chose, à l’aide du critère.
<BOUCLE_blog2(ARTICLES){par date}{inverse}>
[<hr /><h1>(#DATE|annee|unique)</h1>]
[<h2>(#DATE|affdate{'Y-m'}|unique|nom_mois)</h2>]
<a href="#URL_ARTICLE">#TITRE</a><br />
</BOUCLE_blog2>
Ce critère est en outre très biene exploité pour faire un calendrier dans l’article Usage du filtre ’unique’ pour classer des articles.
La boucle que voici permet d’afficher tous les articles d’un site dans l’ordre chronologique et groupés par année puis par mois.
<BOUCLE_plus_vieux (ARTICLES) {par date} {0,1} {doublons}>
<h6>Année [(#DATE|annee)]</h6>
Mois de [(#DATE|nom_mois)]<br>
- [(#DATE|affdate)] <a href="#URL_ARTICLE">#TITRE</a><br>
<BOUCLE_meme_mois (ARTICLES) {par date} {mois_relatif=0} {doublons}>
- [(#DATE|affdate)] <a href="#URL_ARTICLE">#TITRE</a><br>
</BOUCLE_meme_mois>
<BOUCLE_suivant_meme_annee (ARTICLES) {par date} {annee_relatif=0} {doublons} {0,1}>
<br>Mois de [(#DATE|nom_mois)]<br>
- [(#DATE|affdate)] <a href="#URL_ARTICLE">#TITRE</a><br>
<BOUCLE_meme_mois_suivant_meme_annee (boucle_meme_mois)>
</BOUCLE_meme_mois_suivant_meme_annee>
<BOUCLE_recursive_mois (boucle_suivant_meme_annee)>
</BOUCLE_recursive_mois>
</BOUCLE_suivant_meme_annee>
<B_recursive_annee>
<hr>
<BOUCLE_recursive_annee (boucle_plus_vieux)>
</BOUCLE_recursive_annee>
</BOUCLE_plus_vieux>
Et cela donne ceci
Cette boucle utilise :
- les critères communs à toutes les boucles
- la récursivité
- la gestion des dates
- une toute petite touche de syntaxe des boucles.
Vous pouvez utiliser cette boucle pour tous les objets de SPIP qui utilisent les dates, soit les articles, les brèves, les forums, les signatures.
Si le mois de publication d’un article n’est pas renseigné (non connu), l’article apparaîtra l’année précédente de son année de publication. Il y certainement moyen de remédier à celà par l’ajout de boucles conditonnelles...
Mais pour l’instant, ça ’buggue’ (gentillement).
Comment fonctionne cette boucle ?
La boucle plus_vieux permet de récupérer le plus vieil article de la base, d’en extraire son année de publication puis son mois de publication.
La boucle meme_mois récupére tous les articles publiés le même mois que l’article le plus vieux.
La boucle suivant_meme_annee récupére le plus vieil article restant dans la même année.
La boucle meme_mois_suivant_meme_annee est une boucle récursive qui à exactement le même effet que la boucle meme_mois.
La boucle recursive_mois permet de continuer à parcourir les articles publié la première année par récursivité.
la boucle recursive_annee permet de recommencer la manoeuvre pour l’année suivante, de manière récursive.
On peut limiter à certains articles et rubriques ou exclure certains articles et rubriques grâce aux mots-clé.
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 : |