[PLUGIN] PlugCalendar : un calendrier dans la sidebar

Jerry WhamJerry Wham Member
mai 2012 modifié dans Plugins
Bonjour,

Voici un petit plugin qui permet comme son nom l'indique, d'afficher un calendrier (idéalement dans la sidebar). Ce calendrier contient les liens vers les jours où des articles ont été postés.


Une aide en ligne précise comment personnaliser l'affichage et quel code mettre pour l'afficher.


Comme d'habitude, l'archive est disponible sur mon site

Note : si le plugin n'apparait pas dans le panneau d'administration, vérifiez que le dossier est bien nommé plugCalendar et non plugcalendar.


Enjoy :-p

Historique :


V0.1 : 06/05/2012
* Première mise en ligne
V0.2 : 07/05/2012
* Correction de la classe calendar
* Correction de la méthode CalInSidebar
«1

Réponses

  • JosJos Member
    C'est vrai qu'il n'y en avait pas dans PluXML de ce genre de plugin. Tres bonne idée pour blogs.
  • bankaibankai Member
    j'envois le dossier dans les plugin mais il n’apparaît pas dans l'admin plugin ?
  • @bankai : il faut renommer le dossier en plugCalendar. Lorsque j'importe un dossier via pluxml, il est renommé avec des minuscules. L'archive est renommée mais également le dossier se trouvant dans cette archive et je ne sais pas pourquoi...

    Essaie et tiens moi informé.
  • bankaibankai Member
    oki je m'en douté, j'avais pas donné la bonne majuscule à la bonne lettre ^^
    Sinon je test tout cela ce soir ou demain :)
    Merci pour ton travail l'ami.
  • bankai a écrit:
    oki je m'en douté, j'avais pas donné la bonne majuscule à la bonne lettre ^^
    Sinon je test tout cela ce soir ou demain :)
    Merci pour ton travail l'ami.

    De nada. J'ai mis une note dans le premier post pour éviter ce genre de problème. Ceci dit, je ne comprends pas pourquoi le dossier dans l'archive est renommé (l'archive oui mais le dossier ???). Est-ce qu'une archive est un "état" particulier d'un dossier, ce qui pourrait expliquer le phénomène ?
  • bankaibankai Member
    J'ai une erreur à la mise en place dans la sidebar.php

    Fatal error: Call to undefined method DateTime::add() in /homez.110/mamanmax/www/plugins/plugCalendar/class.calendar.php on line 41
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour.
    Pareil, ne fonctionne pas chez moi. j'ai pas pisté d'où ça peut venir

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Jerry WhamJerry Wham Member
    mai 2012 modifié
    Il faut que la version de php soit >= 5.3.0


    Je vais mettre une condition supplémentaire pour vérifier la version. Si la méthode n'existe pas, je n'utiliserai pas la programmation objet.
  • Je viens de corriger la classe calendar. J'ai ajouté la condition ci-dessus et modifié quelques fautes de frappe.
    Est-ce que c'est mieux ?

    nouvelle version
  • bankaibankai Member
    mai 2012 modifié
    je test^^
    Cela fonctionne mais pas d'accés au mois d'avant, ni aux articles fais en mai :)
    sinon ça avance.
  • Je viens de modifier à nouveau l'archive juste avant ton post car je m'étais aperçu du bug. Tu peux retester s'il te plait. L'archive a toujours le même nom.
  • bankaibankai Member
    OK je test ^^
  • bankaibankai Member
    mai 2012 modifié
    Bon cela fonctionne mais il a un fonctionnement un peu bizarre ^^.
    Je m'explique: si j n'ai pas d'article dans le mois en cours je ne pourrais pas voir le mois d'avant, ce qui est handicapant dans un sens, sinon il est fonctionnelle après avec les mois d'avant.
    Petit point à amélioré selon moi ( et après j'en fais un article complet sur mon site ;) ),
    - la mise en forme, centrage du calendrier.
    - la correction des << >> qui sont non conforme au niveau Xhtml :)

    Sinon nikel je garde :)

    Ce que j'apprécie:
    Simple, efficace
    rapide et pas de fichier css à charger.
  • La mise en forme du calendrier est dépendant de la css générale. J'ai détaillé les classes et index dans l'aide afin que chacun puisse le customiser selon le thème utilisé.

    En ce qui concerne le lien vers le mois d'avant, je ne comprends pas. Tu as des articles dans ce mois-ci ?
  • Je viens de modifier les << >>.
  • bankaibankai Member
    mai 2012 modifié
    Si je n'ai pas d'articles dans le mois de mai, le mois d'avril ne s'affichera pas en dessous même si il y a des articles en avril.
    Je n'arrive pas à centré le calendrier complet, d'ou ma question ^^
  • Jerry WhamJerry Wham Member
    mai 2012 modifié
    bankai a écrit:
    Bon cela fonctionne mais il a un fonctionnement un peu bizarre ^^.
    Je m'explique: si j n'ai pas d'article dans le mois en cours je ne pourrais pas voir le mois d'avant, ce qui est handicapant dans un sens, sinon il est fonctionnelle après avec les mois d'avant...

    Je vais détailler le fonctionnement attendu et tu me diras si c'est ce que tu obtiens.


    Partons du principe que l'on a les articles suivants :
    -article 1 posté en janvier 2011
    -article 2 posté en janvier 2012
    -article 3 posté en février 2012
    -article 4 posté en février 2012
    -article 5 posté en mai 2012

    Nous sommes actuellement en mai. Donc le calendrier se place par défaut sur le mois de mai avec
    - un lien sur le jour durant lequel l'article 5 a été posté
    - un lien en dessous vers le mois de février 2012.

    Si l'on clique sur le lien février 2012, le calendrier affiche le mois de février 2012 avec :
    - deux liens sur les jours durant lesquels les articles 3 et 4 ont été postés (s'ils l'ont été le même jour, il n'y a qu'un seul lien)
    - deux liens en dessous, un vers le mois de janvier 2012 et un vers le mois de mai 2012

    Si l'on clique sur le lien janvier 2012, le calendrier affiche le mois de janvier 2012 avec :
    - un lien sur le jour durant lequel l'article 2 a été posté
    - deux liens en dessous, un vers le mois de janvier 2011 et un vers le mois de février 2012

    Si l'on clique sur le lien janvier 2011, le calendrier affiche le mois de janvier 2011 avec :
    - un lien sur le jour durant lequel l'article 1 a été posté
    - un lien en dessous vers le mois de janvier 2012



    EDIT : je vois ce que tu veux dire, je vais essayer de modifier ça.
  • Pour aligner le calendrier voici la css que j'ai utilisée :
    .calendar {
      text-align:center;
    }
    .calendar table {
      margin:auto;
    }
    #today, #today a {
      color: red;
    }
    #selectMonth {
      font-size:0.8em;
      text-align:center;
    }
    .year, .month {
      display:inline;
    }
    
  • Dany3dDany3d Member
    Salut Jerry,
    peut t'on se servir de ce calandrier non pas avec tous les articles mais une rubrique événement.
    Ca indiquerais les articles à venir sur tel ou tel événement.
    merci
  • bankaibankai Member
    Ta beaucoup détailler ^^
    Juste une chose :)
    Si tu na pas d'article au mois de mai, en bas du calendrier rien ne s'affichera (ce qui est dommage car en avril un mois avant il y a des articles ^^):)
    je vais mettre ton alignement , merci pour le code
  • Je viens de modifier à nouveau l'archive. Peux-tu me dire si ça fonctionne ?
  • Dany3d a écrit:
    Salut Jerry,
    peut t'on se servir de ce calandrier non pas avec tous les articles mais une rubrique événement.
    Ca indiquerais les articles à venir sur tel ou tel événement.
    merci

    Le calendrier n'affiche que les articles validés (les archives). Les articles en attente d'être postés ou validés mais dont la date n'a pas encore été atteinte ne sont pas pris en compte.

    Mais je peux essayer de voir...
  • bankaibankai Member
    La on est Ok mon cher ami ;)

    Je ne comprend pas pourquoi le calendrier ne se centre pas dans ma colonne, tout fonctionne de ton code css sauf le centrage des jours du calendrier bizarre.
  • Tu as mis #.calendar au lieu de .calendar et #.calendar table au lieu de .calendar table
  • bankaibankai Member
    Et un "boulet" du nom de bankai passa par là :) :)
    Merciii ben il fonctionne bien ce petit calendrier, j'aime beaucoup ce petit plugin.
    N'oublie pas de changer le numéro de version dans l'administration ^^
  • Jerry WhamJerry Wham Member
    mai 2012 modifié
    Bien vu l'aveugle ;-)


    NB :J'aurai mis le jour courant en rouge pour le distinguer des autres jours sur lesquels il y a un article.
  • bankaibankai Member
    ^^ :)
  • Dany3dDany3d Member
    Jerry Wham a écrit:
    Le calendrier n'affiche que les articles validés (les archives). Les articles en attente d'être postés ou validés mais dont la date n'a pas encore été atteinte ne sont pas pris en compte.

    Mais je peux essayer de voir...
    merci ca serait d'une grande utilité.
    Il existe un plugin sous spip avec un calendrier evenement et il me sert pas mal.
    merci de voir si c'est possible.
    a+
  • bankaibankai Member
    J'ai une petite question, dans le fichier class.calendar.php, vers la ligne 154
    <?php
    

    cette balise php est ouverte mais pas fermer par la suite, est ce normal ?
  • bankai a écrit:
    J'ai une petite question, dans le fichier class.calendar.php, vers la ligne 154
    <?php
    

    cette balise php est ouverte mais pas fermer par la suite, est ce normal ?

    Euh??? Elle est fermée ligne 161 non???
Connectez-vous ou Inscrivez-vous pour répondre.