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} où
-
urldésigne l’URL de la page sur laquelle envoyer le visiteur lorsqu’il clique sur un jour (#SELFpar défaut) -
url_jsondé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 :
- #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}
où
-
dateest la valeur courante de la date ; le mini calendrier se positionnera sur le mois correspondant ; -
var_dateest le nom de la variable date qui sera passée en argument à la page appelée quand le visiteur clique sur un jour ; -
urldésigne l’URL de la page sur laquelle envoyer le visiteur lorsqu’il clique sur un jour (#SELFpar défaut) ; -
url_jsondé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 :
- #CALENDRIER_MINI{#ENV{date}, date, #SELF, #URL_PAGE{evenements_mini.json}}
Exemple : afficher les évènements créés dans le plugin « Agenda »
- [(#CALENDRIER_MINI{#ENV{date},
- date,
- #URL_PAGE{jour},
- #URL_PAGE{calendrier_mini_event.json}})]
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
datepour boucler dans les évènements, on prend soin de passerdateen 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.




Version 2.3.4
Vos commentaires
# Le 20 mai à 16:21, par tos87280
En réponse à : Calendrier Mini 2.0
Bonjour ,
J’ai mis à jour les derniers plugins agenda et mini calendrier mais rien n’y fait le calendrier ne s’affiche plus.
Y-a t-il une solution ?
Merci d’avance pour votre aide.
http://www.ec-wallon-limay.ac-versailles.fr/
Répondre à ce message
# Le 30 avril à 16:21, par crissi_mad
En réponse à : Calendrier Mini 2.0
J’ai installées les version du plugin Agenda 3.11.8 et Calendrier Mini 2.3.4 sur mon site, qui roule sur SPIP 3.0.8.
Sur le site public le calendrier se montre mais la page se charge avec beaucoup de lenteur (1 min environ) :
http://www.maristas.es/spip/spip.php?article347
Des que je suis loguée je reçois le message d’erreur suivant :
//www.maristas.es/spip/spip.php?page=calendrier mini event.json&lang=es&start=1364767200&end=1367359200, json] 404
On a un peu tout essayé (on a fourni un squelette jour.html, on a désactivé le caché, le réactivé, effacé l’archive .htaccess, le retourné...), mais rien ne change. La vitesse a charger la page est seulement normale quand on vient d’effacer le cache, mais la deuxieme fois qu’on la charge après, lenteur a nouveau.
S’il vous plaît une mot d’aide... :-(
# Le 18 mai à 12:53, par Mist. GraphX
En réponse à : Calendrier Mini 2.0
Après avoir patinéer quelques heures sur une site avec le même message, je me suis rendu compte que c’était le plugin entravaux qui me créait le problème.
Une fois désactivé tout rentre dans l’ordre.
Voila si ça peut servir à certains.
Répondre à ce message
# Le 17 mai à 17:52, par Fab001
En réponse à : Calendrier Mini 2.0
Je lis sur la page : « Le pied du mini-calendrier qui contient le bouton aujourd’hui peut-être masqué simplement en CSS. »
Génial, c’est ce que je veux mais comment on fait concrètement ? parce que la page css est pour le moins obscure ...
Merci d’avance !
# Le 18 mai à 08:33, par alain cousin
En réponse à : Calendrier Mini 2.0
dans le plugins
css/minical.css
mettre le fichier minical.css dans
squelettes/css/minical.css
changer
.calendriermini .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible;}par
.calendriermini .ui-datepicker-buttonpane button { display : none; }Répondre à ce message
# Le 18 avril à 10:40, par Piero d’Houin
En réponse à : Calendrier Mini 2.0
Bonjour.
Je fais appel à vous pour résoudre un problème, maintes fois évoqué dans ces colonnes, que j’ai lues avec attention, mais qui ne résout pas mon problème.
Sur le site http://emploi.spf75.org je suis passé de la version 2.1.20 à la version 3.0.7. Le mini-calendrier s’affiche maintenant avec les nouveau plugins Agenda et Mini-calendrier, les événements s’affichenet sous le mini-calendrier ; dans le mini-calendrier les événement se colorent en jaune et l’infobulle indique le titre de l’événement mais ... quand je clique sur une date d’événement ... je reviens à la page d’accueil alors que je souhaiterai pouvoir aller à la page de l’article concerné.
Dans la page sommaire j’ai placé ce qui est indiqué :
[(#CALENDRIER_MINI#ENVdate,
date,
#URL_PAGEjour,
#URL_PAGEcalendrier_mini_event.json)]
Dans le dossier squelettes j’ai bien une page jour.html et une page calendrier_mini_event.json.html.
La page jour est idendique à celle qu’a indiqué Cedric dans Spip-Party : http://zone.spip.org/trac/spip-zone/browser/_galaxie_/party.spip.net/squelettes/2012/jour.html#L30
Donc je ne vois pas ce qui pèche ?
Comme je ne m’y connais pas trop en programmation, quelqu’un pourrait-il m’aider ? Merci davance.
Cordialement
Piero d’Houin
Répondre à ce message
# Le 2 mars à 10:40, par vanso
En réponse à : Calendrier Mini 2.0
Bonjour,
Merci pour ce plugin bien utile notamment pour des associations qui ont besoin de communiquer facilement sur les évènements qu’elles organisent.
Néanmoins, je rencontre un problème évoqué sur ce forum mais que je n’arrive pas à régler.
Comme d’autres, j’ai inséré dans « article.html » le code :
[(#CALENDRIER_MINI{#ENV{date},date,
#URL_PAGE{jour},
#URL_PAGE{calendrier_mini_event.json}})]
et lorsque je clique sur un évènement, je tombe sur une erreur 404. J’ai essayé quelques autres alternatives (copie de « jour.html » et « evenement.html » dans mes squelettes, entre autres), rien ne se passe comme prévu.
C’est comme si le plugin n’était pas reconnu, ou trouvé.
C’est là que ça coince : http://www.fdmjc95.org/spip.php?article1
Le site est en développement, donc le graphisme est ... hum ...
Merci de bien vouloir me tendre la main, je suis bien ennuyé par ce problème.
Vanso
SPIP version 3.0.5 [19905] , pas de thème, pas de Zpip, rien que du SPIP basique
Agenda 3.11.3
Mini Calendrier 2.3.4
CFG 3.0.0
Facteur 2.3.1
Saisies 1.28.4
SPIP Bonux 3.0.4
PHP et MySQL à jour
# Le 15 mars à 22:48, par Franck
En réponse à : Calendrier Mini 2.0
Je pense que la solution se trouve sur le forum dans la réponse de cédric du 4 juin 2012 à 12:18.
En faite, je pense que c’est la doc qui ne l’explique pas assez :
[(#CALENDRIER_MINI#ENVdate,
date,
#URL_PAGEjour,
#URL_PAGEcalendrier_mini_event.json)]
Ne fonctionne pas, car après insertion du code, dans le squelette de la dist, spip m’a indiqué : "erreur 404", mais aussi comme quoi "Aucun squelette jour.html n’est disponible.."
Donc soit la doc est "trompeuse", soit il y a un bug
Essayer de voir sont exemple dans sont explication :)
# Le 16 mars à 00:01, par Franck
En réponse à : Calendrier Mini 2.0
Dans ton fichier « jour », tu peux mettre par exemple ce que j’ai dans mon fichier :
C’est pas géniale, mais cela fonctionne y compris quand il y a deux événements le même jour !
C’est le code que j’avais utilisé en spip 2.1 et le squelette multiflex.
Maintenant, si tu trouves un moyen pour que cela soit un peu mieux comme présentation (liste des événements dans une rubrique « fantome » par exemple ou lorsqu’il n’y a qu’un article, l’on tombe directement dessus, je veux bien des info)
<BOUCLE_event_list(EVENEMENTS) {!evenement_passe #ENV{date}|agenda_jourdecal{-1}}{!evenement_a_venir #ENV{date}|agenda_jourdecal{1}}{par date_fin}><!-- {agenda date_debut, mois, (#ENV{date}|annee), (#ENV{date}|mois)} -->
[(#LOGO_ARTICLE_RUBRIQUE|#URL_ARTICLE)]
<a href="#URL_ARTICLE" class="titre">#TITRE</a><br>
<em> [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|jour)]
[(#DATE_DEBUT|affdate_mois_annee)]
<!-- à [(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)] -->
</em><br> #LIEU<br>
[
<div class="#EDIT{intro} texte">(#DESCRIPTIF)</div>
]<br>
</BOUCLE_event_list>
# Le 16 mars à 09:33, par vanso
En réponse à : Calendrier Mini 2.0
Merci pour ton aide, je vais tester.
# Le 19 mars à 17:39, par vanso
En réponse à : Calendrier Mini 2.0
Bonsoir,
J’avance doucement mais j’avoue me perdre dans les fichiers et les boucles.
Voila ce que j’ai fait :
[(#CALENDRIER_MINI{#ENV{date},date,
#URL_PAGE{jour},
#URL_PAGE{calendrier_mini_event.json}})]
dans article.html, puis jour.html et calendrier_mini_event.json.html placés dans mon dossier squelettes.
L’affichage du calendrier est correct (pas d’erreur 404 ni rien) mais le calendrier est inerte, apparemment ça boucle sur l’article en cours. Donc, j’ai bien sûr loupé quelque chose.
Pour préciser : j’ai essayé ta boucle, dans jour.html, j’ai aussi lu le message de cédric du 4 juin 2012 et essayé diverses insertions dans mes fichiers, rien n’y fait.
Autrement dit, je suis paumé...
Merci pour toute aide, je souhaite mourir moins idiot.
# Le 19 mars à 18:48, par Franck
En réponse à : Calendrier Mini 2.0
Bonjour
Je crois qu’il faut que tu commences par lire :
http://www.spip.net/fr_article4453.html
et
http://www.spip.net/fr_article3347.html
Parce que, cela ne me semble logique de mettre du code dans article.html
Cette page contient se qui sera afficher quand les gens liront un article. cela dit, je connais très mal la dist, donc possible que je me plante aussi :-D
Bref, tu devrais mettre le code
[(#CALENDRIER_MINI{#ENV{date},date,
#URL_PAGE{jour},
#URL_PAGE{calendrier_mini_event.json}})]
Dans, par exemple la page sommaire.html que tu enregistres dans le dossier squelettes que tu as créer à la racine de t’on site. (c’est moche, mais ça marche et c’est juste pour l’exemple)
Ensuite dans un fichier que tu nommes jour.html, tu mets le code que je t’ai donner :
<BOUCLE_event_list(EVENEMENTS) {!evenement_passe #ENV{date}|agenda_jourdecal{-1}}{!evenement_a_venir #ENV{date}|agenda_jourdecal{1}}{par date_fin}><!-- {agenda date_debut, mois, (#ENV{date}|annee), (#ENV{date}|mois)} -->
[(#LOGO_ARTICLE_RUBRIQUE|#URL_ARTICLE)]
<a href="#URL_ARTICLE" class="titre">#TITRE</a><br>
<em> [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|jour)]
[(#DATE_DEBUT|affdate_mois_annee)]
<!-- à [(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)] -->
</em><br> #LIEU<br>
[
<div class="#EDIT{intro} texte">(#DESCRIPTIF)</div>
]<br>
</BOUCLE_event_list>
Tu l’enregistres dans le dossier « squelettes » que tu as fait également !
Tu vides le caches de spip et celui de ton navigateur et c’est bon :-)
Après, pour la présentation, c’est juste une histoire de css, mais là, chaque site est unique
Perso, à ta place, si tu débutes, le mieux est de prendre un squelette déjà fait (escale, sarkaspip, etc) et l’adapter à tes besoin, cela sera sans doute plus simple que de partir de zéro :-)
Répondre à ce message
# Le 17 mars à 12:54, par jlg13
En réponse à : Calendrier Mini 2.0
Yop,
Je voudrais afficher les événements sous le mini calendrier qui est dans un
Répondre à ce message
# Le 13 mars à 17:07, par jlg13
En réponse à : Calendrier Mini 2.0
Salut,
Mon mini-calendrier affiche une date bizarre dans la rubrique où je l’ai installé.
Lorsque j’appelle l’événement alors la date est juste et mise à celle du jour.
Des idées ?
# Le 13 mars à 18:16, par jlg13
En réponse à : Calendrier Mini 2.0
Autoréponse :
Au fait j’avais une boucle de RUBRIQUE qui tapait dans le mini-calendrier. J’ai donc sorti le mini-calendrier et c’est bon.
Répondre à ce message
# Le 8 février à 20:21, par arkam
En réponse à : Calendrier Mini 2.0
Bonsoir,
je cherche la syntaxe pour n’afficher dans le mini calendrier que les événements propre à un article...
a+
# Le 8 février à 21:08, par arkam
En réponse à : Calendrier Mini 2.0
Pour l’instant j’utilise
[(#CALENDRIER_MINI#SELF, #URL_PAGEcalendrier_mini_event.json )]
mais ceci affiche dans le calendrier joli les dates d’événements liés à tous les articles
# Le 8 février à 21:16, par arkam
En réponse à : Calendrier Mini 2.0
désolé pour le codage
[(#CALENDRIER_MINI{ #SELF, #URL_PAGE{calendrier_mini_event.json}})]# Le 11 février à 22:07, par arkam
En réponse à : Calendrier Mini 2.0
je me réponds après qqs tentatives empiriques
[(#CALENDRIER_MINI{#SELF, #URL_PAGE{calendrier_mini_event.json, id_article=#ID_ARTICLE} })]Répondre à ce message
# Le 5 février à 03:00, par yohannp
En réponse à : Calendrier Mini 2.0
Hello,
J’ai un petit problème en SPIP 3.0.5. Le message suivant apparait :
//test1.cogitstudio.org/spip.php?page=agenda.json&id rubrique=33&var mode=recalcul&lang=fr&start=1359673200&end=1362092400, json] 404Je n’ai pas le message en local mais je l’ai en ligne. Une idée ?
Répondre à ce message
# Le 28 janvier à 19:29, par XF
En réponse à : Calendrier Mini 2.0
Bonjour,
Je rencontre également ce message d’erreur, j’ai désinstallé le plugin puis réinstallé mais je rencontre toujours le même problème :
« spip.php ?page=calendrier mini event.json&lang=fr&start=1356994800&end=1359673200, json] 404 »
Merci d’avance pour votre aide.
Répondre à ce message