Agenda Fullcalendar facile

Dans un précédent article, nous expliquions comment afficher un agenda Fullcalendar sur son site avec le plugin agenda.
Cependant, ceci nécessite des manipulation de squelettes, ce qui n’est pas toujours évident lorsqu’on débute.

La présente contribution permet d’intégrer plus facilement un agenda Fullcalendar, sans qu’il ne soit cependant possible d’avoir une configuration avancée [1].

Fonctionnalité

Avec le plugin Agenda activé, le présent plugin permet d’afficher dans un article un agenda Fullcalendar, affichant les évènements par mois, semaine ou jour, et liant chaque évènement à la page de l’article qui lui est associé.

Agenda souhaité au final
Agenda souhaité au final

Installation

Le plugin nécessite SPIP 3.1, il s’installe comme n’importe quel plugin.

Utilisation

Une fois le plugin installé, et les événements créés, il suffit d’insérer le code suivant dans un article:

<agenda_fullcalendar|>

Colorer les évènements

À partir de la version 2.1.0, il est possible de choisir la couleur associé aux événements.

Pour ce faire, il vous faut:

  • avoir le plugin Couleur d’Objet activé, en version 0.3.0 minimum et les couleurs réglées
  • passer en paramètre du modèle l’objet sur lequel on prend la couleur:
    • <agenda_fullcalendar|couleur=rubrique> prend la couleur associé à la rubrique où se trouve l’évènement.
    • <agenda_fullcalendar|couleur=article> prend la couleur associé à l’article où se trouve l’évènement.
    • <agenda_fullcalendar|couleur=evenement > prend la couleur associé à l’évènement lui-même.

Footnotes

[1Si le besoin s’en fait sentir, il est nécessaire d’apprendre des notions de squelettes SPIP, puis de lire mon tutoriel.

updated on 13 February 2019

Discussion

2 discussions

  • 6

    merci, bien pratique pour avoir un outil clé en main.
    J’aurais une question :
    -  Est-il possible, facile, de faire pointer les liens du calendrier directement vers les pages événements (gérées par Agenda et Zpip, Aveline et NoiZetier) plutôt que vers les articles qui les contiennent ? J’ai regardé les fichiers de ce plugin, mais je vois pas du tout comment...

    merci pour toute piste utile

    • A priori, il faudrait surcharger le fichier
      agenda.json.html
      en remplacant #URL_ARTICLE par #URL_EVENEMENT

    • Parfait ! ça marche. (voir page en test sur site en construction)
      j’avais pas trop osé farfouiller...
      bon, me reste plus qu’à modifier un peu les styles, et j’aurai un super calendrier.

      Ca me permet d’aller direct à l’info, surtout qu’il pourrait y avoir plusieurs événements dans un même article pour ne pas multiplier les articles

      merci pour efficacité et rapidité

    • Bonjour,
      je viens de tester, ça fonctionne très très bien, merci beaucoup pour tout le travail effectué.
      Bonne fin de journée

    • J’ai fait la modif :

      surcharger le fichier
      agenda.json.html
      en remplacant #URL_ARTICLE par #URL_EVENEMENT

      dans ma copie de agenda.json.html dans /squelettes et j’ai l’erreur :
      Filtre full_calendar_jplusun non défini        squelettes/agenda.json.html        _evenements        0

      merci

    • Le filtre est défini uniquement dans agenda.json_fonctions.php, il faudrait que tu le duplique aussi.

    • Ah oui, merci
      Entre temps je l’avais mis dans mes_fonctions mais c’est sans doute pas très propre.

    Reply to this message

  • 2

    Bonjour,

    J’ai voulu surcharger le squelette agenda.json.html rapidement.
    Je le place donc dans mon répertoire squelette.

    J’ajoute rendering,’background’, dans le tableau

    	#SET{tableau,#ARRAY{id,#ID_EVENEMENT,
    		title,(#TITRE|html2unicode|unicode2charset),
    		rendering,'background',
    		allDay,(#HORAIRE|=={non}|?{#EVAL{true},#EVAL{false}}),
    		start,#DATE_DEBUT,
    		end,#GET{date_fin},
    		url,#URL_ARTICLE,
    		description,(#DESCRIPTIF|html2unicode|unicode2charset),
    	}}

    Mais j’ai une erreur dans le squelettes : Undefined filter full_calendar_jplusun

    Si je modifie le plugin pour ajouter cette option : ça passe.

    Ma seule solution est d’ajouter cette fonctions

    mes_fonctions.php

    ?

    Merci.
    PS : sinon, oui : je peux améliorer le plugin et proposer un plugin de plugin …

    • Ah c’est bien possible que dans ce cas il faille aussi que tu reprenne le fichier agenda.json_fonctions.php, qui contient la def.

    • Ah zut :)
      Pas très grave mais bon .

      J’ai copié les 2 fichiers dans mon squelettes :)
      Si je trouve le temps, je ferais un plugin de plugin …

      Merci

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom