SPIP-Contrib

SPIP-Contrib

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

289 Plugins, 197 contribs sur SPIP-Zone, 68 visiteurs en ce moment

Accueil > Dates, calendriers et agendas > Calendriers > Calendrier Mini > Calendrier Mini 2.0

Calendrier Mini 2.0

19 mai 2012 – par Cerdic, James – 253 commentaires

22 votes

Ce plugin ajoute la balise #CALENDRIER_MINI qui insère un petit widget de navigation par mois dans les dates des évènements.

Fonctionnement du mini calendrier

Le mini calendrier présente un mois à la fois. Les jours du mois comportant des évènements sont surlignés. Un clic sur l’un de ces jours permet de naviguer vers une page qui présentera les évènements de ce jour.

Le mini calendrier comporte deux liens de navigation pour passer au mois précédent ou au mois suivant, ainsi que deux champs de sélection pour aller directement à n’importe quel autre mois ou année.

La navigation d’un mois à un autre se fait immédiatement, sans rechargement de la page. La liste des évènements pour le mois en cours est rechargée en tâche de fond et mise à jour sur le mini calendrier (chargement asynchrone au format JSON).

Les évènements affichés par le mini calendrier peuvent être de n’importe quelle nature (publication des articles du site, commentaires, objets évènements du plugin agenda).

A partir de la version 2.3.0, la liste des événements d’une journée est affichée au survol (tooltip).

Accessibilité et alternative
Le mini calendrier insère également une alternative qui permet aux utilisateurs sans javascript ainsi qu’aux robots d’indexation de disposer des liens vers chaque jour (pour peu qu’il contienne un évènement) du mois en cours ainsi que vers le mois précédent ou le mois suivant.

Insertion du mini calendrier

Le mini-calendrier est inséré simplement dans vos squelettes au moyen de la balise #CALENDRIER_MINI

Cette version 2.0 du plugin reprend la syntaxe des versions précédentes du plugin « Calendrier mini » : #CALENDRIER_MINI{url, url_json}

  • url désigne l’URL de la page sur laquelle envoyer le visiteur lorsqu’il clique sur un jour (#SELF par défaut)
  • url_json désigne l’URL appelée pour charger la liste en JSON des évènements entre deux dates (#URL_PAGE{calendrier_mini.json} par défaut).

Dans cette syntaxe courte, la variable date utilisée est nommée archives et la date courante est automatiquement capturée d’après #ENV{archives}.
Un exemple d’utilisation est :

  1. #CALENDRIER_MINI{#SELF, #URL_PAGE{mes_evenements.json}}

Le plugin supporte également la syntaxe longue utilisée dans le plugin « Agenda » :
#CALENDRIER_MINI{date, var_date, url, url_json}

  • date est la valeur courante de la date ; le mini calendrier se positionnera sur le mois correspondant ;
  • var_date est le nom de la variable date qui sera passée en argument à la page appelée quand le visiteur clique sur un jour ;
  • url désigne l’URL de la page sur laquelle envoyer le visiteur lorsqu’il clique sur un jour (#SELF par défaut) ;
  • url_json désigne l’URL appelée pour charger la liste en JSON des évènements entre deux dates (#URL_PAGE{calendrier_mini.json} par défaut).

Un exemple d’utilisation de cette syntaxe est :

  1. #CALENDRIER_MINI{#ENV{date}, date, #SELF, #URL_PAGE{evenements_mini.json}}

Exemple : afficher les évènements créés dans le plugin « Agenda »

  1. [(#CALENDRIER_MINI{#ENV{date},
  2.  date,
  3.  #URL_PAGE{jour},
  4.  #URL_PAGE{calendrier_mini_event.json}})]

Télécharger

Dans cet exemple :

  • on utilise le squelette « calendrier_mini_event.json.html » fourni par le plugin « Agenda » pour récupérer les évènements créés dans l’agenda ;
  • la page d’affichage des évènements lorsque l’on clique sur une date (avec au moins un évènement !) utilise le squelette « jour.html », lui aussi fourni dans le plugin « Agenda » ;
  • le squelette « jour.html » utilisant le paramètre d’environnement date pour boucler dans les évènements, on prend soin de passer date en 2e paramètre de la balise.

Liste des évènements

Les évènements affichés dans le mini-calendrier sont fournis au format JSON par un squelette qui est appelé à chaque changement de mois du mini calendrier.

Par défaut c’est calendrier_mini.json.html qui génère la liste des articles publiés entre start et end fournis tous deux au format « timestamp » (nombre de secondes depuis 1970) dans l’URL.

Pour modifier la liste des évènements affichés dans le mini calendrier, il suffit de modifier le squelette calendrier_mini.json.html (ou de le copier sous un autre nom en passant ensuite la valeur correspondante pour l’argument url_json).

Le title de chaque événement envoyé par le squelette sert à afficher le tooltip au survol de chaque date. Vous pouvez le personnaliser en le préfixant de l’heure de début par exemple, quand cela est pertinent.

Collecte automatique de id_article, id_rubrique et id_mot

Quand elle est utilisée avec la syntaxe sans l’url de la page JSON, la balise #CALENDRIER_MINI collecte automatiquement (comme elle le faisait auparavant) les #ID_ARTICLE, #ID_RUBRIQUE et #ID_MOT du contexte où elle est appelée. Les valeurs de id_article, id_rubrique et id_mot sont alors passées à l’url de la page JSON par défaut.

Dès que vous précisez en dernier argument de #CALENDRIER_MINI l’url de la page JSON qui fournit les événements, il vous appartient d’y préciser les id_article, id_rubrique ou id_mot que vous souhaitez prendre en compte, car ceux-ci ne sont plus transmis automatiquement.
Ce fonctionnement vous permet ainsi de désactiver la transmission automatique au besoin.

Personnalisation de l’apparence

L’apparence du mini-calendrier est prise en charge par la feuille de style css/minical.css. La feuille de style est minimale afin que le mini-calendrier hérite au maximum de l’apparence de votre site. Cette feuille de style peut être personnalisée dans votre dossier squelettes/.
Voici un autre exemple d’insertion du mini-calendrier sans modification de la feuille de style :

Pour des raisons de performance, la feuille de style est insérée inline dans le HTML de la page qui contient le mini calendrier. Si elle référence des images, celles-ci doivent donc être référencées avec leur URL absolue.

Les boutons pour passer vers les mois précédents ou suivants utilisent l’image css/img/month_prev_next-32x16.png qui peut être personalisée dans votre dossier squelettes/.

Le pied du mini-calendrier qui contient le bouton aujourd’hui peut-être masqué simplement en CSS.

En dernier recours, si c’est vraiment nécessaire pour la personnalisation, vous pouvez aussi modifier le squelette formulaires/calendrier_mini.html. Toutefois ceci est déconseillé car hypothèque la compatibilité de votre squelette avec les évolutions futures du plugin.

Voir en ligne : https://plugins.spip.net/calendriermini

Dernière modification de cette page le 5 novembre 2017

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 25 janvier à 11:01, par Eric En réponse à : Calendrier Mini 2.0

    Bonjour,

    J’aurais aimé trouver une solution pour ajaxer ma div où j’affiche mes événements lorsque je clique sur mois suivant/précédant du calendrier mini ?

    Quelqu’un peut-il m’aider ?

    Merci

    • Le 29 janvier à 15:25, par Eric En réponse à : Calendrier Mini 2.0

      Ok, j’ai fini par trouver tout seul :-)
      Il faut juste modifier le fichier calendrier_mini.js.html
      Là où se trouve la fonction change_month_year :
      y ajouter le code

                      var changeDate = year+"-"+month+"-01";
                      $('#tableau_des_evenements').ajaxReload({args:{date:changeDate}});

      où #tableau_des_evenements est la div qui recevra la boucle événement en fonction de la date retournée.

      Merci à cette page : https://www.spip.net/fr_article3753.html qui m’a permis de trouver la solution.

    Répondre à ce message

  • Le 8 janvier à 14:30, par Troyan En réponse à : Calendrier Mini 2.0

    Bonjour,

    J’ai migré spip de la version 1.9.2 à la version 3.2. Tous fonctionne correctement excepté mon mini-calendrier.
    Mon problème est qu’une grande partie de événement n’apparait pas dans le mini-calendrier. J’appelle mon calendrier avec ceci :

    1. #CALENDRIER_MINI{#ENV{date},date,#URL_PAGE{jour}}

    J’ai comparé les entrées dans la DB entre un événement qui fonctionne et un autre non. Aucun changement de valeur qui pourrait être la cause, rien dans les logs.

    Je ne sais plus où chercher. Pouvez-vous m’aider ?

    • Le 8 janvier à 15:39, par Troyan En réponse à : Calendrier Mini 2.0

      Avec ceci le problème est corrigé :

      1. [(#CALENDRIER_MINI{#ENV{date},
      2. date,
      3. #URL_PAGE{page-jour},
      4. #URL_PAGE{calendrier_mini_event.json,id_rubrique}})]

      Télécharger

      Mais un autre problème est toujours présent. Le mois de décembre dans mon mini-calendrier charge en boucle et n’affiche pas les événements. Il y a plusieurs mois qui ont ce problème (environ 1 sur 2). Merci de m’aider.

    Répondre à ce message

  • Le 7 décembre 2017 à 17:07, par Corinne En réponse à : Calendrier Mini 2.0

    Bonjour, Nous rencontrons un problème d’affichage d’événement dans le mini-calendrier. Cela se passe uniquement quand un événement de plusieurs jours est à cheval sur deux mois. L’événement s’affiche bien sur le premier mois, mais pas dans le mois suivant. Nous rencontrons ce problème par exemple pour les vacances de Toussaint et fin d’année. Avez-vous déjà rencontré cette erreur ? Merci par avance de votre réponse Cordialement

    Répondre à ce message

  • Le 24 novembre 2017 à 11:24, par Grems En réponse à : Calendrier Mini 2.0

    Bonjour,

    une mise à jour de ce super plugin est-elle prévue pour SPIP 3.2 ?
    L’insertion de la balise #CALENDRIER_MINI dans mon squelette ne donne aucun résultat (rien n’est affiché, pas même le calendrier).
    Je ne souhaiterais utiliser que ce plugin pour atteindre des articles et ne pas le coupler au plugin Agenda 2.0.

    merci

    • Le 24 novembre 2017 à 11:27, par Maïeul En réponse à : Calendrier Mini 2.0

      Salut,

      ce plugin est aussi compatible 3.2 ;-)

    • Le 24 novembre 2017 à 11:46, par Grems En réponse à : Calendrier Mini 2.0

      Hum... bon... ;-)
      Je ne dois pas être très doué...
      J’ai presque terminé l’énorme mise à jour d’un site spip 1.9.2 http qui utilisait minical 0.3 vers spip 3.2 https avec calendrier mini 2.0.
      Il n’y a plus que cette question de calendrier à régler, et ça ne veut pas fonctionner.

      Mettre simplement la balise #CALENDRIER_MINI ne retourne rien, idem si j’essaye de passer des paramètres.
      En essayant de lancer le squelette démo ?page=minical_demo, idem, cela n’affiche que la liste des derniers articles mais pas de calendrier visible dans la colonne de droite...

      Une idée d’où le souci pourrait venir ? Une incompatibilité particulière avec d’autres plugins ? (je n’utilise que des basiques : acces restreint, crayons, facteur, couteau suisse, newsletter, spip bonux...)
      J’espère que le problème ne vient pas de l’adaptation de mes anciens squelettes ou d’un vieux fichier quelconque qui ferait obstacle.

      Pour info, sous spip 1.9 le calendrier était bêtement géré sous forme d’un répertoire dans spip, avec un article par événement. Le plugin minical de l’époque permettait simplement de voir les dates où il y avait un article, de cliquer dessus et de tomber sur cet article.

      Merci pour vos lumières.

    • Le 24 novembre 2017 à 11:53, par Maïeul En réponse à : Calendrier Mini 2.0

      Je ne sais pas. Peut être que les auteurs du plugins pourront t’en dire plsu.

    • Le 24 novembre 2017 à 11:57, par Grems En réponse à : Calendrier Mini 2.0

      Merci de m’avoir répondu en tous cas.

    • Le 24 novembre 2017 à 15:32, par Grems En réponse à : Calendrier Mini 2.0

      Problème d’affichage résolu !
      Il s’agissait d’un conflit entre mon htaccess et mon fichiers mes_options au sujet de paramètres https.
      Je vois enfin un calendrier avec des infos !

      Une dernière question : quelqu’un sait-il quel code mettre pour qu’un clic sur une date n’envoie pas sur #SELF mais directement sur la page de l’article en question ?
      #CALENDRIER_MINI#URL_ARTICLE aurait été bien pratique mais ça ne marche pas.

      Merci

    • Le 26 novembre 2017 à 08:51, par Jacques En réponse à : Calendrier Mini 2.0

      Pour que les jours pointent sur l’article, j’intégrais le mini-calendrier avec ce code :

      1. [(#CALENDRIER_MINI{#ENV{date},
      2.     date,
      3.     #URL_PAGE{jour},
      4.     #URL_PAGE{calendrier_mini_event.json}})]

      Télécharger

      Ca semble toujours fonctionner :)

    • Le 26 novembre 2017 à 14:32, par Grems En réponse à : Calendrier Mini 2.0

      Merci Jacques.
      J’y ai cru mais je n’ai malheureusement pas de squelette jour.html dans mes squelettes ou dans mes plugins...
      Ce fichier provient peut être d’un autre plugin installé chez vous (Agenda 2.0) ou l’avez-vous créé vous même ?
      Pourriez-vous m’indiquer le code que contient votre squelette jour.html ?

      Merci ;)

    • Le 26 novembre 2017 à 20:30, par Jacques En réponse à : Calendrier Mini 2.0

      Ah mais ça a marché direct chez moi en local... Mais avec un squelette basé sur Z, spipr-dist...

      A la racine du plugin agenda il y a un dossier squelettes avec des pages utilisables pour le public. Il doit être possible de s’en inspirer.

    • Le 27 novembre 2017 à 13:10, par Grems En réponse à : Calendrier Mini 2.0

      Merci je vais fouiller de ce côté là.

    Répondre à ce message

  • Le 7 mai 2017 à 19:59, par Alberto En réponse à : Calendrier Mini 2.0

    Bonsoir.
    Pour le site que je dois gérer j’ai créé le fichier de traduction en italien.
    Je voudrais savoir comment je peux mettre à la disposition à tous le fichier avec la traduction.
    Merci et bonne soirée

    Répondre à ce message

  • Le 26 avril 2017 à 15:35, par philippe En réponse à : Calendrier Mini 2.0

    Bonjour
    Quand je clique sur une date dans l’agenda cela me renvoi bien sur la page du jour mais cela ne me liste que les Evénements ayant lieu ce jour là.
    Or ils s’affichent bien au survol du calendrier.
    Je souhaiterais pouvoir afficher les evénements en cours aussi.
    Comment faire ?
    Merci
    Spip 3.1

    Répondre à ce message

  • Le 10 mars 2016 à 17:26, par Syvlain En réponse à : Calendrier Mini 2.0

    Bonjour,
    Nous avons effectué la mise à jour vers la version 3.1 et le calendrier a été remplacé par la liste des dates (liste à puces).
    Avez vous une idée de la cause de ce problème ?
    Merci d’avance
    Sylvain

    • Le 15 septembre 2016 à 00:52, par Sébastien En réponse à : Calendrier Mini 2.0

      Bonjour,
      J’ai le même problème avec un spip tout neuf : SPIP 3.1.1 [22913].
      Le calendrier est remplacé par une liste de dates.

      Je suppose que c’est un problème de javascript car il y a une erreur dans le fichier prive/javascript/ajaxCallback.js ?1457638358 (ligne 144) :

      return $.ajax({
      TypeError: $ is undefined

      Avez-vous résolu votre problème ?
      Merci d’avance,
      Sébastien

    • Le 15 septembre 2016 à 04:40, par Sébastien En réponse à : Calendrier Mini 2.0

      Je viens de résoudre ce problème (qui n’avait pas grand’chose à voir avec le mini-calendrier).
      Il s’agissait d’un conflit javascript avec le plugin jQuery Cycle du thème Tincredible.

      Pour régler ce conflit (si ça peut servir à quelqu’un), j’ai modifié deux fichiers du thème Tincredible :
      -  Effacement de la ligne jQuery.noConflict(); dans le fichier main-loading.js.html
      -  Effacement des trois inclusions de fichiers jQuery UI dans le fichier inclure/slider_tincredible.html

    • Le 5 avril 2017 à 15:05, par jado En réponse à : Calendrier Mini 2.0

      Bonjour,

      J’ai le même problème, mais avec un autre thème (Leadescent). Je ne connais pas beaucoup javascript. Pourriez vous me donner un coup de main et me dire :

      Comment identifier le.s fichier.s qui sont en conflit ? l’outil examiner l’élément de firefox ou le web developer peuvent m’aider ? et si oui, comment ?

      Merci de votre aide

    • Le 6 avril 2017 à 18:35, par jado En réponse à : Calendrier Mini 2.0

      J’ai eu le même problème avec le thème Leadescent.
      J’ai modifié le fichier menu.js en effaçant la ligne jQuery.noConflict() ; indiquée par Sébastien et ça a bien marché.

    Répondre à ce message

  • Le 26 mars 2017 à 13:15, par spipfactory.com En réponse à : Calendrier Mini 2.0

    Pour info après changement des bornes

     compatibilite="[3.0.0;3.2.*]"

    RAS

    Répondre à ce message

  • Le 16 février 2017 à 15:25, par Ayroles En réponse à : Calendrier Mini 2.0

    J’ai deux sites avec les mêmes version de Spip , de Sarka spip et des plugins agenda et minicalendrier. Sur wwwchoraleintermezzo.fr tout fonctionne parfaitement sur www.harmoniemontigny.fr impossible d’afficher les évènements à venir sur le minicalendrier alors que les évènement du mois en cours ou du mois précédent s’affichent sans souci.
    Une idée ?

    • Le 17 février 2017 à 11:06, par Ayroles En réponse à : Calendrier Mini 2.0

      Rien à voir avec las dates. J’ai ressaisi les évènements en supprimant les accents et tout fonctionne correctement.
      Que faut-il faire afin que je puisse écrire correctement, avec les accents ?
      Un truc tout simple je suppose mais je ne suis pas un pro.

    Répondre à ce message

  • Le 26 septembre 2016 à 11:36, par Michel Reverem En réponse à : Calendrier Mini 2.0

    Bonjour à tous, et merci pour ce subtil plugin !

    Néanmoins, j’ai découvert un problème en mutualisation, spip 3.1.1, mini-calendrier 2.3.9
    C’est un problème de cache dont la conséquence est que le calendrier n’affiche les événements que sous forme de liste banale sans aucune grille de dates aux alentours. Ça ne ressemble donc pas à un calendrier.

    Source du problème : l’appel du fichier jsdyn-javascript_etc. minify-dd12.js qui est exécuté par jQuery aboutit dans le répertoire :
    domaine_principal/local/cache-js/ et non dans le répertoire sites/domaine-mutualise/local/cache-js/ où il a pourtant bien été créé.

    Solution pas propre : copier le js dans le répertoire domaine_principal/local/cache-js/
    Solution propre : faire en sorte que le plugin aille chercher le fichier au bon endroit. Mais là je ne sais pas faire...

    Quelqu’un a-t-il déjà rencontré cette difficulté et trouvé la solution propre ?
    Merci de faire avancer le web !
    Michel

    • Le 14 octobre 2016 à 13:52, par Sarah En réponse à : Calendrier Mini 2.0

      oui, j’ai ce problème, mais je ne l’ai pas résolu. Je suis sous spip 3.1.0 et mini-calendrier 2.3.9 aussi

      http://saint-nazaire.eelv.fr

    • Le 14 octobre 2016 à 14:03, par Michel Reverem En réponse à : Calendrier Mini 2.0

      Bonjour Sarah,
      comme le mini-calendrier se construit à partir de l’exécution d’un javascript, il faut savoir pourquoi cette exécution n’a pas lieu.
      En version mutualisée, la solution est celle, boiteuse, que j’ai décrite plus haut en attendant mieux. Si ton site n’est pas un Spip mutualisé, cherche le fichier jsdyn-javascript_calendrier_mini_js avec son suffixe de cache (une phrase en argot de banlieue martienne) dans le répertoire local/cache-js et cherche pourquoi il ne s’exécute pas. : problème de chemin, problème de droit...la liste est longue, hélas !
      Cordialement,
      Michel

    • Le 14 octobre 2016 à 15:33, par Pierre KUHN En réponse à : Calendrier Mini 2.0

      Bonjour,

      Vous avez essayer de garde que ce plugins et désactiver les autres ?
      Mettre à jour spip peut aider ...

    • Le 14 octobre 2016 à 21:31, par Sarah En réponse à : Calendrier Mini 2.0

      ok, honte à moi, je n’avais pas essayé...

      bon, je veux pas balancer, mais c’est le formulaire de contact avancé qui mettait le bazar (pourtant, j’aurai juré que c’était Spip bonux, mais non)

      Je suis bien ravie de ne pas avoir à traquer le javascript ! Merci, Pierre !

    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

  • ORR v2

    21 mai 2013 – 105 commentaires

    ORR, le plugin d’Organisation des Réservations et des Ressources passe en version 2, avec quelques nouveautés attendues. Je ne reprendrai pas les explications données dans la version 1. Les nouveautés : 1. Gestion des autorisations Le principe (...)

  • Speedsyndic pour SPIP 2 et SPIP 3

    11 octobre 2010 – 32 commentaires

    Ce plugin est une version compatible spip 2.0.x / 2.1 / 3.1 du plugin Speedsyndic Note : Une bonne partie du texte ci-dessous a été pompé de cet article, expliquant la version précédente du plugin. je n’ai fait qu’adapter le code pour spip 2, ajouter (...)

  • Personnalisation graphique du squelette SoyezCréateurs

    19 août 2009 – 110 commentaires

    Il est possible de personnaliser l’affichage du squelette SoyezCréateurs de manière plus ou moins profonde. Changement dans les couleurs via CFG La page de CFG des couleurs de SoyezCreateurs : ecrire/ ?exec=cfg&cfg=soyezcreateurs_couleurs (...)

  • Visualiser un PDF dans un article

    13 juin – commentaires

    SoyezCréateurs utilise un modèle pour afficher un PDF dans e corps d’un article Un peu d’histoire Avant, les navigateurs n’incluaient pas de lecteur PDF nativement ce qui avait conduit à la création du plugin Lecteur pdf javascript pdf.js. Mais, (...)