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>

updated on 2 October 2019

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!

    Reply to this message

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

    Reply to this 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.

    Reply to this 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 !

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom