Tri d’articles par année scolaire

Trie les articles d’une rubrique par année scolaire avec sa pagination

Sur la base du squelette de la distribution de spip, nous afficherons les articles “dans la même rubrique” par année scolaire en ajoutant une pagination suivant précédent de type 2005/2006 2007/2008.

Il s’agit de créer nos délimiteurs temps, soit deux dates, à placer dans la boucle article_principal :

[(#_article_principal:DATE|mois|<{8}|?{#SET{annee_apres,#_article_principal:DATE|annee}, #SET{annee_apres,#_article_principal:DATE|annee|plus{1}}})]
[(#_article_principal:DATE|mois|<{8}|?{#SET{annee_avant,#_article_principal:DATE|annee|moins{1}}, #SET{annee_avant,#_article_principal:DATE|annee}})]

Ces deux variables annee_apres et annee_avant, comme leur nom l’indique, servent à obtenir l’année avant celle de l’article consulté et celle d’après.

La partie “dans la même rubrique”.

Nous allons ici récupérer tous les articles dans l’année scolaire en cours, soit de début aôut à fin juillet.

<ul>
     <BOUCLE_articles_rubrique(ARTICLES) {id_rubrique} {date>(#GET{annee_avant})-08-01} {date<(#GET{annee_apres})-07-31} {par date}{inverse}>
     <li>
          <a href="[(#URL_ARTICLE)]"[ class="(#EXPOSE)"]>[(#TITRE)]</a>
     </li>
     </BOUCLE_articles_rubrique>
</ul>

Nous y ajoutons :
-  la pagination suivante

     <BOUCLE_navigation_annee_suivante(ARTICLES) {id_rubrique} {id_article!=56} {date>(#GET{annee_apres})-08-01} {par date} {0,1}>
     <a href="#URL_ARTICLE">[(#GET{annee_apres})]/[(#GET{annee_apres}|plus{1})]</a>
     </BOUCLE_navigation_annee_suivante>

-  et la pagination précédente

     <BOUCLE_articles_annee_precedente(ARTICLES) {id_rubrique} {id_article!=56} {date<(#GET{annee_avant})-07-31} {par date} {inverse} {0,1}>
     <a href="#URL_ARTICLE">[(#GET{annee_avant}|moins{1})]/[(#GET{annee_avant})]</a>
     </BOUCLE_articles_annee_precedente>

Discussion

4 discussions

  • Bonjour et merci pour cette super contrib !

    j’aimerai l’utiliser dans une page rubrique (et non une page article), je sens qu’il faut modifier les « délimiteurs de temps » (annee_avant et annee_apres) pour partir de la date courante, mais je trouve pas comment faire.

    Merci d’avance !

    Répondre à ce message

  • Merci, je vais regarder cela de plus près. Si je trouve une solution, je la posterai ici.

    Répondre à ce message

  • Bonjour,
    je n’ai pas approfondi dans cette voie, mais je crois que vous devriez vous orienter vers la méthode des « modèles » ou « noisettes » qui servent à inclure plus nativement certains bouts de squelette au sein du vôtre.

    Répondre à ce message

  • Bonjour,
    J’utilise votre astuce dans le plan du site d’une école maternelle. Cà fonctionne super alors, tout d’abord : merci !

    Ma question est la suivante : si je souhaite utiliser ce filtre dans tout mon site sauf dans une page d’archives, est-ce que je dois répéter la déclaration des variables dans chaque fichier squelette ou est-ce qu’on peut les déplacer à un niveau supérieur (et dans ce cas, où ? + quelle est la syntaxe ?).
    Merci beaucoup !

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom

Dernière modification de cette page le 13 novembre 2008