SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 64 visiteurs en ce moment

Accueil du site > Dates, calendriers et agendas > Tris par date > Archives Tris par date > Une liste d’article trié par mois

Une liste d’article trié par mois

22 octobre 2004 – par mortimer – 16 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Voici une boucle proposée par homo-numericus pour afficher une liste d’articles mois par mois.

L’article 601 propose un calendrier d’article du même genre, mais voici une boucle abordant un problème similaire d’une façon un peu différente.

Comment ça marche ?

1-

Commençons par lister tous les articles qui nous intéressent :

Une boucle toute simple, qui liste tous les articles du site, triés par date. On pourrait ajouter n’importe quel critère :
-  pour limiter la boucle à une rubrique {id_rubrique=XX},
-  pour se limiter à des articles d’un certain age {age>XX}
-  etc ...

2-

La prochaine étape est la plus complexe : faire l’affichage par mois.

On affiche avant tout le premier article trouvé grâce à la boucle premierdumois. Comme son nom l’indique, cet article est le premier du mois. On affiche donc le nom du mois, puis le titre de l’article et sa date.

Notez le critère {doublons}. Celui ci va nous permettre d’éliminer l’article déjà affiché des prochaines boucles.

La deuxième boucle MOIS va nous permettre d’afficher tous les autres articles du mois. En effet, le critère {mois_relatif=0} sélectionne tous les articles du même mois que l’article en cours [1]. Grâce au critère {doublons} présent ici encore, on évite d’afficher le 1er article du mois qui a déjà été affiché.

Une fois tous les articles du mois affichés, on arrive au bout de la boucle principale. Celle ci va donc passer au prochain article et donc au prochain mois. Et ainsi de suite.

Notes

[1celui sélectionné par la boucle article

Retour en haut de la page

Vos commentaires

  • Le 3 mars 2006 à 23:46, par DumbaDonf En réponse à : Une liste d’article trié par mois

    J’ai mis en place cette contrib qui es ttres bien.
    Mais pour une histoire de clartée et de lisibilité, je cherche à « plier » tous les Mois. Lorsque l’utilisateur clique sur un mois, cela le « dépli » et affiche les articles contenus à l’intérieur.

    Estèce que quelqu’un saurait m’aider ?
    Il me semble qu’il faut utiliser du javascript...

    Répondre à ce message

  • Le 6 octobre 2005 à 10:54, par Balluche En réponse à : Une liste d’article trié par mois

    On peut simplifier par : {mois_relatif}

    Par ailleurs pourquoi ne pas gérer « mois_relatif » comme un critère global, c à d, pouvant être associé à la date du jour #DATE même sans article courant (cas de la page d’accueil) ?

    • Le 31 octobre 2005 à 10:37, par Marc En réponse à : Une liste d’article trié par mois

      Par quelle magie le id_article va t’il faire que la boucle premierdumois n’affiche qu’un seul article ? Ne manque-il pas un critère 0,1 ?

    • Le 31 octobre 2005 à 10:47, par mortimer En réponse à : Une liste d’article trié par mois

      il n’y a qu’un article avec cet id, donc il n’y aura qu’un article selectionné.

    • Le 31 octobre 2005 à 12:01, par Marc En réponse à : Une liste d’article trié par mois

      Pardon, je me suis mal exprimé et merci de ta patience. Le question est plutôt pourquoi la boucle premierdumois n’est-elle pas invoquée N fois avec un id_article à chaque fois différent ?

    • Le 31 octobre 2005 à 12:19, par mortimer En réponse à : Une liste d’article trié par mois

      1. la boucle _article selectionne successivement tous les articles,
      2. la boucle _premierdumois va afficher le premier article trouvé pour se mois, que l’on n’a pas encore affiché,
      3. la boucle _MOIS va afficher les articles suivant dans le même mois.

      ça va donner quelque chose comme cela :

      1. _article sélectionne l’article le plus récent,
      2. _premierdumois affiche cet article et se rappelle avec doublons qu’elle l’a déjà affiché,
      3. _MOIS va afficher tous les articles du même moi et se rappeler avec doublons qu’elle les a passés.
      4. _article sélectionne le prochain article le plus récent,
      5. _premierdumois essaie de l’afficher, mais si on l’a déjà affiché avant, on ne l’affiche plus, grâce au critère doublons
      6. pareil pour la boucle _MOIS
      7. et ainsi de suite.

      La boucle _premierdumois affichera donc plusieurs articles, tous les premiers article du mois en fait. Le critère doublons empéchant d’afficher un article que l’on a déjà affiché avant.

    • Le 31 octobre 2005 à 12:39, par Marc En réponse à : Une liste d’article trié par mois

      Oui effectivement mais n’aurais tu pas le même effet sans la boucle_article et avec le critère 0,1 dans la premiere ?

    • Le 31 octobre 2005 à 12:59, par Mortimer En réponse à : Une liste d’article trié par mois

      non :

      1. on ne peut pas vraiment supprimer la boucle _article puisqu’elle sert aussi dans la boucle _MOIS qui liste seulement les article avec un mois « relatif » de 0 (le même mois) par rapport à la boucle englobante. Mais effectivement, il est peut être possible de passer cette boucle à l’intérieure de la boucle _premierdumois et alors la boucle _article est obsoléthe
      2. dans tous les cas, on ne peut pas utiliser {0,1} dans la boucle _premierdumois, puisque cela limiterai à UN SEUL article. Mais nous on veut qu’elle affiche TOUS LES permiers articles de chaque mois (donc plusieurs). Avec cette approche, c’est donc doublons le mieux.

      Remarque que je ne dis pas que c’est la meilleure méthode (ce ne l’est pas du tout) et c’est pas très optimale en fait. Il y a d’autre solution, comme Calendrier des articles ou le filtre unique, ou même le nouveau critère agenda probablement.

    • Le 31 octobre 2005 à 13:13, par Marc En réponse à : Une liste d’article trié par mois

      Tu as raison, c’est une belle boucle !
      Merci

    Répondre à ce message

  • Le 10 juin 2005 à 02:32, par Jérôme C En réponse à : > Une liste d’article trié par mois

    Comment faire pour exclure les 10 premiers articles ???

    Répondre à ce message

  • Le 9 juin 2005 à 21:17, par Jérôme C En réponse à : > Une liste d’article trié par mois

    Si vous voulez grouper les articles qui sont publiés le même jour, voici un exemple :

    <BOUCLE_article(ARTICLES){id_rubrique=1}{doublons jour}{par date}{inverse}>

     <BOUCLE_premiermois_article(ARTICLES){id_article}{doublons}>
       [(#DATE|nom_mois)]</span> [(#DATE|annee)]<br>
       [(#DATE|jour)]<br>
       #TITRE<br>

     <BOUCLE_premierjour_articles(ARTICLES){jour_relatif=0}{doublons}{par date}{inverse}>
      #TITRE<br>
     </BOUCLE_premierjour_articles>
    </BOUCLE_premiermois_article>

    <BOUCLE_autres_articles(ARTICLES){doublons}{mois_relatif=0}{par date}{inverse}>
     <B_jour_articles>
       [(#DATE|jour)]<br>
    <BOUCLE_jour_articles(ARTICLES){jour_relatif=0}{id_rubrique=1}{doublons jour}>
        #TITRE<br>
    </BOUCLE_jour_articles>
    </BOUCLE_autres_articles>
    </BOUCLE_article>

    Bon je sait pas si mon code est trop assaini mais dites-moi si ça marche !

    Maintenant je tente de voir si c’est possible de trier par mois le plus récent en premier mais en commençant par le premier article du mois...

    Répondre à ce message

  • Le 3 juin 2005 à 11:23, par mortimer En réponse à : > Une liste d’article trié par mois

    Répondre à ce message

  • Le 3 juin 2005 à 09:34, par gwec En réponse à : > Un menu de toutes les dates auxquelles des articles ont été publiés et l’affichage par rubrique des dits articles

    1- Le menu (repris de cette contrib) qui liste toutes les dates de publication des articles : placé dans sommaire.html par exemple

    <BOUCLE_dates(ARTICLES){par date}{inverse}>
    <BOUCLE_premierdujour(ARTICLES){id_article}{doublons}>
    <a href="date.php3?date=#DATE">[(#DATE|nom_jour)] [(#DATE|jour)] [(#DATE|nom_mois)] [(#DATE|annee)]</a>
    <br>
    </BOUCLE_premierdujour>
    <BOUCLE_JOUR(ARTICLES){mois_relatif=0}{jour_relatif=0}
    {doublons}{par date}{inverse}>
    </BOUCLE_JOUR>
    </BOUCLE_dates>

    2- Un fichier date.html (associé à date.php3)

    Affiche par rubrique les articles publiés à la date passée dans l’url

    <BOUCLE_rub(RUBRIQUES){tout}>
            <h1>[(#TITRE)]</h1><br>
    <INCLURE(liste.php3){date=#ENV{date}}{id_rubrique}>       
     </BOUCLE_rub>

    2bis - Un fichier liste.html (associé à liste.php3)

    <BOUCLE_art_rub (ARTICLES){id_rubrique=#ENV{id_rubrique}}
    {mois_relatif=0}{jour_relatif=0}>
    - #TITRE publié le [(#DATE|nom_jour)] [(#DATE|jour)] [(#DATE|nom_mois)] [(#DATE|affdate{'Y'})] [(#DATE|affdate{'H:i'})]<BR>
    </BOUCLE_art_rub>

    Répondre à ce message

  • Le 15 mars 2005 à 00:04, par Pierre En réponse à : > Une liste d’article trié par mois

    Il me semble que les ul et li ne sont pas placés correctement.

    Sinon la boucle est superbe, et très pratique.
    J’en propose ci après une version avec une boucle supplémentaire qui me permet de limiter à 4 mois la liste des derniers articles.

    Je n’ai pas trouvé d’autre moyen que de rajouter une boucle, mais si quelqu’un a mieux, je suis preneur !

    Répondre à ce message

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Squelettes « Chez nous »

    17 avril 2008 – 26 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Jeu de squelettes prêts à l’emploi pour site de maison : visite des lieux, présentation des habitants, chronique et livre d’or.

  • Formidable, le générateur de formulaires

    23 janvier – 55 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs. Introduction L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins avaient (...)

  • Transaction : créer des formulaires avec paiement en ligne

    13 mars 2011 – 33 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Transaction est une extension du plugin de création de formulaires Formidable pour concevoir des formulaires de paiement en ligne et les connecter aux principales API bancaires françaises. Présentation Transaction introduit 3 nouveaux types de (...)

  • Plugin SPIP-Géoportail

    17 août 2010 – 169 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Plugin pour l’intégration d’objets géographiques dans SPIP avec l’API Géoportail. Affichage de cartes Géoportail, OpenStreetMap (OSM), Google Maps ou Yahoo !... Préambule : Travaillant sur un projet utilisant SPIP et le Géoportail, il nous a semblé (...)

  • Navigation AJAX

    31 janvier – 13 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)