Simple Calendrier v2

Il s’agit de la version pour SPIP 3 du plugin Simple Calendrier.

Le plugin « simple calendrier » permet de gérer des évènements en ajoutant un nouvel objet éditorial dans l’administration de votre site SPIP. Il peut constituer une alternative (incompatible) au plugin Agenda 2.

Note à propos de la version 2.1.0
Cette version ajoute en option la gestion des horaires d’un événement.

Installation du Plugin

Le plugin s’installe comme tous les autres, en ajoutant son dossier dans le dossier plugins/ et en l’activant dans l’espace privé. En savoir plus.

Avertissement : Ce plugin n’est pas compatible avec le plugin Agenda 2.0 et ultérieur. Voir la section « compatibilité avec d’autres plugins ».

Utilité du plugin

Ce plugin fournit un nouvel "objet éditorial" : l’évènement.
Il permet donc de créer des évènements, au même titre que l’on peut créer des articles ou des brèves.

Ce plugin permet de gérer différents scénarios :

  • Un simple calendrier pour tout le site
  • Un calendrier ou les évènements sont classés par thématique grâce aux mots clés
  • De multiples calendriers, en activant l’option permettant de raccrocher l’évènement à une rubrique.

Ce plugin ne permet pas :

  • La gestion des heures/minutes (mais le descriptif peut dans certains cas suffire...)
  • La gestion des répétitions.
  • Une quelconque notion d’inscription.
  • Et surement plein d’autres choses !

Pour ces derniers points, il existe un autre plugin très complet et éprouvé, de gestion d’évènements nommé Agenda 2.

Pourquoi ce nom ?

L’objectif de ce plugin est de fournir une solution de gestion d’évènements qui soit le plus simple possible à l’utilisation. Dans beaucoup de cas, il suffira de créer quelques évènements, de renseigner quelques champs de base. Puis d’utiliser une boucle EVENEMENTS pour les afficher.

Fonctionnalités du plugin

Un évènement comporte les champs suivants :

  • titre (requis)
  • date de début (requis)
  • date de fin
  • lieu
  • descriptif
  • texte
  • lien

Une page de configuration [1] dédiée à ce plugin permet de préciser :

  • Qui a le droit de créer des évènements (administrateurs / rédacteurs).
  • Si un évènement peut être affecté à une rubrique ou non.
  • Les champs à rendre disponibles sur le formulaire de saisie.
  • Si les articles / brèves peuvent « être épinglés » dans le calendrier (ce qui peut permettre d’utiliser le texte de l’article/de la brève comme contenu textuel pour l’évènement. On parlera de texte par référence).
  • Le choix d’un thème pour le mini-calendrier de l’espace public.

Liste des évènements :
Dans l’espace privé, la liste de tous les évènements est accessible via le menu Edition. Cette page permet aussi :

  • la création de nouveaux évènements
  • de voir la répartition des évènements par année et par mois.
  • Pour les administrateurs, un lien "Démo" permet de comprendre l’utilisation de la boucle EVENEMENTS.

Par défaut, la liste affichée est filtrée pour n’afficher que les évènements à venir.

Création d’évènements :
Les évènements peuvent être créés :

  • depuis la liste des évènements (accessible via le menu Edition)
  • depuis une rubrique si l’option "affectation aux rubriques" est activée.
  • depuis un article ou une brève si l’option "texte par référence" est activée.

Note : Pour les 2 derniers points, il s’agit simplement de raccourcis permettant de pré-remplir certains champs.

Quelques captures d’écran

Configuration du plugin
Accessible depuis le menu Configuration > Fonctions avancées
Page de liste des évènements
Accessible depuis le menu Edition
Page de liste des évènements restreinte à une rubrique
Lorsque l’option d’affectation aux secteurs / rubriques est activée.
Portlet sur la page rubrique
Lorsque l’option de rattachement aux rubriques est activée.
Création d’un évènement
Lorsque les options par défaut sont utilisées.
Création d’un évènement
Lorsque les options « affectation aux secteurs » et « texte par référence » sont activées.
Portlet sur la page article/breve
Présente lorsque l’option « Texte par référence » activée.
Visualisation d’un évènement
Ici dans le cas ou il est affecté à une rubrique (Fil d’ariane + portlet gauche)
Script de démo !
...qui s’adresse aux créateurs de squelettes...

Dans les squelettes

Une boucle :

<BOUCLE_evenement(EVENEMENTS)> ... </BOUCLE_evenement)

Des critères spécifiques :

  • {en_cours} pour sélectionner les événements commencés et non encore terminés à la date courante.
  • {en_cours_et_a_venir} pour sélectionner les événements futurs ou commencés et non encore terminés à la date courante. (v 2.5.0)
  • {a_venir} pour sélectionner les événements futurs (non commencés) par rapport à la date courante.
  • {a_venir #ENV{date}} pour sélectionner les événements futurs (non commencés) par rapport à la date #ENV{date}
  • {!a_venir #ENV{date}} pour sélectionner les événements passés ou en cours à la date #ENV{date}
  • {evenement_passe} pour sélectionner les événements terminés.
  • {du_mois} : Les évènements du mois courant.
  • {simplecalperiode 20160101, 20161231} : Les évènements entre le 1er janvier et le 31 décembre 2016.

Des balises :

  • Dans le cadre d’une boucle EVENEMENTS :
    • #ID_EVENEMENT
    • #TITRE
    • #URL_EVENEMENT
    • #LIEU
    • #DATE_DEBUT
    • #DATE_FIN
    • #DATE : date de publication
    • #LOGO_EVENEMENT
    • #DESCRIPTIF
    • #TEXTE
    • #LIEN_TITRE : titre du lien (v1.2)
    • #LIEN_URL : adresse du lien (v1.2)
    • #TYPE : Type d’objet pointé quand l’option « Texte par référence » est activée.
    • #ID_OBJET : identifiant de l’objet pointé quand l’option « Texte par référence » est activée.
  • Hors contexte :
    • #SIMPLE_CALENDRIER : Affiche un mini calendrier du mois en cours. Sur ce calendrier, les dates de début d’évènement sont mises en valeur.

Des filtres :

[(#TYPE|simplecal_afftexteref{#ID_OBJET})]

|simplecal_afftexteref : Si l’option « Texte par référence » est activée : Permet de récupérer le texte de l’objet pointé.

Un nouveau squelette :

Un évènement est affiché grâce au squelette evenement.html au même titre que le squelette article.html affiche un article.

Exemple pour le squelette evenement.html :

<BOUCLE_evenement(EVENEMENTS){id_evenement}>
<h1>#TITRE</h1>

#LIEU

<!-- Affichage sympa de type 'de telle date à telle date' -->
[(#DATE_DEBUT|simplecal_affdates{#DATE_FIN})]

#LOGO_EVENEMENT

#DESCRIPTIF

<!--
Affichage par ordre de priorité : 
1 - #TEXTE : Le texte de l’événement s'il existe
2 - #TYPE/#ID_OBJET : Sinon, le texte de l'objet référencé s'il existe (option)
-->
[(#TEXTE|?{ #TEXTE,
    [(#TYPE|?{ [(#TYPE|simplecal_afftexteref{#ID_OBJET})], ''})]
})]

<!-- Lien vers un site web (v1.2) -->
[(#LIEN_URL|oui)
  <a href="#LIEN_URL">[(#LIEN_TITRE|?{#LIEN_TITRE, #LIEN_URL})]</a>
]

<!-- Les mots clés rattachés s'il y en a -->
<BOUCLE_mot(MOTS){id_evenement}>
    #TITRE
</BOUCLE_mot>

</BOUCLE_evenement>

Personnalisation du mini-calendrier

Dans l’espace privé, lorsque l’on crée un évènement, la date de début et la date de fin peuvent être saisies manuellement ou en cliquant sur la petite icône à droite du champ. Un mini calendrier s’ouvre alors permettant de choisir la date. Ce Widget « datepicker » provient de la librairie jquery.ui.

Dans la partie publique, il est possible d’afficher un mini-calendrier en utilisant la balise #SIMPLE_CALENDRIER. La structure (html) de ce mini-calendrier est la même que celle du datepicker vu précédemment.

Cela permet d’utiliser les mêmes feuilles de styles. Et c’est pourquoi dans la configuration du plugin (Configuration -> Fonctions avancées), vous pouvez choisir un thème pour la partie publique.

Où se trouvent ces thèmes ?
Chaque thème fait l’objet d’une feuille de styles dans le dossier plugins/simple-calendrier/prive/css/datepicker. Les thèmes déjà embarqués dans le plugin proviennent du site http://jqueryui.com/themeroller.

Comment créer un nouveau thème ?
Réponse : à la main, en dupliquant une feuille de styles existante et en l’adaptant.

Pour vous aider, vous pouvez utiliser le site http://jqueryui.com/themeroller. Une fois votre style défini, il ne vous reste plus qu’à reporter les valeurs des couleurs (bordure, fond, texte) dans la feuille de styles que vous aviez précédemment dupliquée.

Compatibilité avec d’autres plugins

Plugin Agenda 2
-  100% incompatible  ! Ne cherchez jamais à faire cohabiter ces 2 plugins.
-  Aucun mécanisme de migration d’Agenda2 vers simple-calendrier n’est prévu.

Plugin corbeille
Les évènements en statut « à la poubelle » peuvent être gérés par le plugin corbeille

Plugin MiniBando
Prise en compte par le plugin MiniBando.

Plugin Acces restreint (A.R)
Le plugin simple-calendrier est compatible avec le plugin A.R. moyennant les adaptations décrites dans la section suivante.

Plugin LIM
Compatibilité avec la fonction de restriction par rubrique.

Bugs connus et solutions

Accès restreint :
-  Crash possible de la boucle EVENEMENTS.
-  Crash possible avec un message d’erreur de type « fonction déjà définie ».

L’installation du plugin A.R nécessite quelques petites adaptations pour pouvoir fonctionner avec simple calendrier :

  • Éditez le fichier public/acces_restreint.php du plugin A.R. Dans le « case evenement » : Ajouter un « break ».
  • Éditez le fichier inc/acces_restreint_autoriser.php du plugin A.R. et renommer la fonction ’autoriser_evenement_voir’ (en ’autoriser_evenement_voir_inutilise’ par exemple...)
  • Il faut ensuite vider le cache SPIP

Note : ces modifications nécessaires dans le plugin A.R. n’ont pas de conséquence sur son fonctionnement. Le code initial étant prévu pour un usage du plugin Agenda2.

Ce plugin en action :

Notes

[1La page de configuration se trouve dans le menu : ConfigurationContenu du site au même titre que la configuration des articles ou des brèves.

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom