SPIP - Contrib

[ar] [en] [es] [fr] [it]



Accueil du site > Agendas et Dates > Plugin Agenda > Articles par saison > Archives Articles par saison

Afficher les articles par année ou par saison

samedi 15 octobre 2005, par job. Dernier ajout samedi 18 novembre 2006


But : fournir un calendrier pour réunir tous les articles sur une période assez grande.


Etant utilisateur depuis quelque temps de l’agenda annuel proposé dans le squelette d’Epona. J’ai voulu profiter du nouveau critère agenda développé dans SPIP 1.8.2 afin d’éliminer le code php présent dans l’ancien squelette et ainsi permettre une mise en cache.

Premier cas

J’ai découpé cette contrib en deux parties l’une qui permet d’afficher tous les articles durant une période reposant sur les critères agenda et periode de la boucle articles.
Exemple : tous les évènements de l’année 2005 sur mon site

Elle est composé des fichiers :

  • agenda.css
  • agenda.html
  • agenda_annee_fonctions.php3
  • agenda_annee.html
  • agenda_longperiode_fonctions.php3
  • agenda_longperiode.html
  • agenda_saison_fonctions.php3
  • agenda_saison.html

agenda.html

Le fichier agenda_longperiode.html est une légère variante de agenda_periode.html de SPIP en changeant agenda_affiche_annuel par agenda_affiche comme vous le montre la suite :

Les fichiers agenda_annee.html, agenda_saison.html sont de légères variantes de agenda_longperiode.html.

Les fichiers agenda_annee_fonctions.php3, agenda_longperiode_fonctions.php3, agenda_saison_fonctions.php3 sont identiques et sont le coeur de cette contrib. Essentiellement la fonction agenda_affiche_annuel qui permet de restituer les articles mémorisés gràce aux filtres agenda_memo sur forme d’une liste.

Ensuite vous pouvez modifier l’aspect visuel en modifiant le fichier agenda.css. Il existe deux archives annee_date.zip et anne_date_redac.zip. Personnellement j’utilise la deuxième archive qui utilise la date de publication antérieure des articles.

Deuxième Partie

Le second a en plus un classement par mot clé présent dans le squelette Epona. On peut sélectionner les évenement dans le groupe de mot clé nommé « type de manifestation ».
Exemple : tous les évènements de l’année 2005 sur mon site
Elle est composé des fichiers :

  • agenda.css
  • agenda.html
  • agenda_annee_mot_fonctions.php3
  • agenda_annee_mot.html
  • agenda_longperiode_mot_fonctions.php3
  • agenda_longperiode_mot.html
  • agenda_saison_mot_fonctions.php3
  • agenda_saison_mot.html

agenda.html est le meme dans toutes les archives.

agenda_longperiode_mot.html

agenda_longperiode_mot_fonctions.php3

De meme que dans la première partie il y a deux versions l’une où l’on utilise la date de publication de l’article l’autre où l’on utilise la date de publication antérieure.

Comment utiliser cette contribution

Cette contribution nécessite SPIP 1.8.2 Téléchargez une des 4 archives, puis décompressez la dans votre dossier squelette. Vous ferez les appels aux différents agenda en utilisant les urls suivantes. Pour les archives annee_date et annee_date_redac les urls à utiliser sont :

  • Pour afficher les articles du 4 janvier 2005 au 16 mai 2005
    votresite.com/agenda.php3?annee=2005&mois=01&jour=04&annee_fin=2005&mois_fin=05&jour=16&type=longperiode
  • Pour afficher les articles de la saison 2004-2005(c’est à dire du 1 septembre 2004 au 31 aout 2005)
    votresite.com/agenda.php3?annee=2004&annee_fin=2005&type=saison
  • Pour afficher les articles de l’année 2005
    votresite.com/agenda.php3?annee=2005&type=annee

Pour les archives annee_mot_date et annee_mot_date_redac les urls à utiliser sont :

  • Pour afficher les articles du 4 janvier 2005 au 16 mai 2005
    votresite.com/agenda.php3?annee=2005&mois=01&jour=04&annee_fin=2005&mois_fin=05&jour=16&type=longperiode_mot
  • Pour afficher les articles de la saison 2004-2005(c’est à dire du 1 septembre 2004 au 31 aout 2005)
    votresite.com/agenda.php3?annee=2004&annee_fin=2005&type=saison_mot
  • Pour afficher les articles de l’annee 2005
    votresite.com/agenda.php3?annee=2005&type=annee_mot

Ps : Si vous trouvez que les agendas générés possèdent des couleurs horribles, c’est normal vous avez bon gout, pour en changer modifier agenda.css.

Documents joints


Répondre à cet article

  • pas d’affichage si pas d’heure

    29 avril 2008 12:50, par zil

    Désolé, je n’ai pas mis mon message au bon endroit, je recommence

    Bonjour, je n’ai pas d’affichage des évenements si par exemple je ne mets pas d’heure et que l’évenement est sur une journée...

    par exemple,

    2008-05-12 00:00:00 2008-05-12 00:00:00 "bla bla bla"

    ne marche pas

    alors que

    2008-05-12 00:00:00 2008-05-13 00:00:00 "bla bla bla"

    affiche l’evenement sur la journée du 12 mai

    est ce normal ??? merci

    Zil...

    Répondre à ce message

    • pas d’affichage si pas d’heure 29 avril 2008 20:08, par Job

      Bonjour,

      As-tu lus cet article :
      http://www.spip-contrib.net/Extensi...

      C’est la remise a jour de cet article pour spip 1.9 et plus. Sinon quelle version de spip utilises-tu ?
      As-tu une url a proposer

      A+ Job

      Répondre à ce message

      • pas d’affichage si pas d’heure 29 avril 2008 21:35, par zil...

        merci pour la réponse, j’utilise bien agenda191, j’ai meme un agenda192 !!!

        j’ai pas d’url encore, le site n’est pas sortit ...

        et j’ai spip192 voila, merci encore

        Zil...

        Répondre à ce message

        • pas d’affichage si pas d’heure 29 avril 2008 22:02, par Job

          bonjour,

          Je regarderais ca plus en détail ce WE. personnellement je n’utilise pas les heures pour les evenement (cad je décoche la case horaire ) donc ca me surprend. (l’inverse c’est a dire que lorsque l’on donne des heures aux evenements la contrib ne marche plus m’aurais moi surpris )

          Bon courage et a+ Job

          Répondre à ce message

          • pas d’affichage si pas d’heure 29 avril 2008 22:29, par zil...

            bien mais justement moi non plus je n’utilise pas les heures mais je ne décoche pas la case car je mets les événements avec Saisie rapide d’une liste sinon je ne peux pas faire autrement, j’ai un chevauchement de cadre qui m’empêche d’utiliser le formulaire, autre problème

            dans ma base mysql, il y a "non" pour la colonne heure et elles sont donc notées 00:00:00

            merci en tout cas Zil...

            Répondre à ce message

    Retour au début des forums

  • Afficher les articles par année ou par saison

    21 mars 2006 11:14, par Mortas

    Bonjour, déjà bravo pour cette contrib^^et ensuite ma question, j’ai lut votre réponse au post précèdent, mais cela ne me convient pas. Comment faire pour que seul l’année en cours s’affiche ? Un exemple, dans mon cas je dois faire un calendrier pour l’académie de Toulouse, il me faut donc configurer l’affichage de septembre à Juillet et cela pour l’année 2005 et 2006, et une fois cette année passé il faut effacé les précèdent et recommencé pour l’année 2006-2007, comment faut-il faire ?

    Répondre à ce message

    • Afficher les articles par année ou par saison 21 mars 2006 22:13, par job

      Comment faire pour que seul l’année en cours s’affiche ? Un exemple, dans mon cas je dois faire un calendrier pour l’académie de Toulouse, il me faut donc configurer l’affichage de septembre à Juillet et cela pour l’année 2005 et 2006,

      Donc le squelette agenda_saison_mot.html est ton ami. Il va sélectionner tous les évenements qui ont lieu du 1er septembre au 31 aout de l’année suivante. Il s’utilise comme suit :

      votresite.com/agenda.php3 ?annee=2005&annee_fin=2006&type=saison_mot

      et une fois cette année passé il faut effacé les précèdent et recommencé pour l’année 2006-2007, comment faut-il faire ?

      Vu que c’est qu’une fois dans l’année on peut faire la modif au moment opportun J’essayerais de donner une réponse pour résoudre ce problème de maniére plus automatique prochainement (quand j’aurais la solution)

      Répondre à ce message

      • Afficher les articles par année ou par saison 22 mars 2006 22:57, par Mortas

        Merci pour cette réponse trés rapide^^ ça marche niquel par contre je dois vraiment être une quiche, j’arrive pas à inverser le sens d’affichage, au lieu de janvier a decembre, afficher de decembre à janvier. J’ai essayer de faire comme indiqué sur le site mais ça ne marche pas. Aprés promis je vous embete plus ^^

        Répondre à ce message

        • Afficher les articles par année ou par saison 22 mars 2006 23:08, par job

          Non tu n’es pas une quiche. Mais effectivement je n’avais pas penser à cette inversion. Pour l’instant c’est impossible.

          Répondre à ce message

          • Afficher les articles par année ou par saison 23 mars 2006 13:46, par Mortas

            ok j’aurrais essayé^^ merci en tout cas

            Répondre à ce message

            • pas d’affichage sur pas d’heure 29 avril 2008 12:38, par zil

              Bonjour, je n’ai pas d’affichage des évenements si par exemple je ne mets pas d’heure et que l’évenement est sur une journée...

              par exemple,

              2008-05-12 00:00:00 2008-05-12 00:00:00 "bla bla bla"

              ne marche pas

              alors que

              2008-05-12 00:00:00 2008-05-13 00:00:00 "bla bla bla"

              affiche l’evenement sur la journée du 12 mai

              est ce normal ??? merci Zil...

              Répondre à ce message

            • pas d’affichage si pas d’heure 29 avril 2008 12:39, par zil

              Bonjour, je n’ai pas d’affichage des évenements si par exemple je ne mets pas d’heure et que l’évenement est sur une journée...

              par exemple,

              2008-05-12 00:00:00 2008-05-12 00:00:00 "bla bla bla"

              ne marche pas

              alors que

              2008-05-12 00:00:00 2008-05-13 00:00:00 "bla bla bla"

              affiche l’evenement sur la journée du 12 mai

              est ce normal ??? merci Zil...

              Répondre à ce message

    Retour au début des forums

  • Afficher les articles par année ou par saison

    8 février 2006 21:01, par Philippe Multeau

    Bravo pour cette contrib, elle répond à mes besoins pour un futur site d’office du Tourisme. C’est l’affichage de type=annee que je pense utiliser.

    Une question, cependant, auquel je peux trouver la réponse en me creusant la tête, mais comme je débute, le moindre problème me fait perdre des heures !

    Alors voila : je veux afficher les évènement à partir de la date du jour, et sans limite de fin de période. En effet, une fois que je livre le site au client, il ne faut pas que je revienne dessus chaque année pour rechanger ma programmation de squelette.

    Il faudrait donc quelquechose du genre : votresite.com/agenda.php3 ?annee=actuelle&mois=actuel&type=annee

    Mais je ne connais pas la syntaxe à utiliser...

    Merci.

    Répondre à ce message

    • Afficher les articles par année ou par saison 8 février 2006 23:04, par job

      Salut,

      Si j’ai bien compris ta demande .Je te proposerais d’utiliser agenda_longueperiode.html tu le copies et tu renommes en agenda_tamodif.html penses à recopier aussi agenda_longueperiode_fonctions.php3 en agenda_tamodif_fonctions.php3. Ensuite tu modifies

      <BOUCLE_periode(ARTICLES){par date_redac}
         {agenda date_redac, periode,
       #ENV{annee}, #ENV{mois}, #ENV{jour},
       #ENV{annee_fin}, #ENV{mois_fin}, #ENV{jour_fin}}>

      par

      <BOUCLE_periode(ARTICLES){par date_redac}{age_redac<0}
         {agenda date_redac, periode,
       2006, 01, 01,
       2020, 01, 01}>

      ensuite tu appelles tonsite.com/agenda.php3?type=tamodif

      Tu as compris qu’il fallait remplacer tamodif par un nom plus joli et plus explicite. J’ai essayé vite fait en local donc cette solution est à tester( mais pense quelle est juste) Cette boucle sert à enregistrer tous les évenements dont la date redac est comprise entre le 1er janvier 2006 et le 1er janvier 2020 dont le date de rédaction (date_redac) n’est n’est pas encore passé (grace au critère age_redac<0)

      A+ Job

      Répondre à ce message

    Retour au début des forums

  • Afficher les articles par année ou par saison

    18 octobre 2005 11:21, par quincailler

    Bonne contrib, ressemble beaucoup à ce qu’il y a sur le wiki, plus détaillé, mais pas encore assez :/ ! Je m’explique, soucis de recalcul de la page lors du changement de mois ou de jours. Obligation de recalculer pour que cela s’affiche.

    Sinon rien à dire, ca tourne.

    Répondre à ce message

    Retour au début des forums



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et vie SPIP-Contrib | SPIP | L'autre.net