Agenda 2.0 et ultérieur

Voici la version pour SPIP 2.0 du Plugin Agenda pour SPIP 1.9.2, avec une interface remaniée pour encore plus de plaisir.
La lecture de Calendrier Mini 2.0 est également chaudement recommandée, étant donné que Agenda 3 est dépendant de ce plugin.

Le portage du plugin Agenda pour SPIP 2.0 a été l’occasion de repenser et améliorer l’ergonomie de son interface. La version 2.0 du plugin agenda ne nécessite plus le plugin Widget Calendar, mais nécessite le plugin SPIP Bonux

La navigation dans les événements est directement accessible par un sous-menu du menu edition :

La présentation de ces événements délaisse le mode calendrier pour un affichage en liste plus pratique à l’usage.
Par défaut seuls les événements à venir sont affichés :

Ce fonctionnement évite d’encombrer l’affichage avec les événements passés toujours plus nombreux.

Un menu de navigation latéral permet d’afficher tous les événements, paginés, triés par date :

Le menu latéral inclut également une navigation antéchronologique par mois calendaire permettant l’affichage de tous les événements d’un mois

La liste centrale présente une vue résumée de chaque événement. Il est possible de voir plus de détails en cliquant sur le titre de l’événement :

Un lien [article] permet d’accéder à l’article qui contient cet événement :

On y retrouve exactement le même type de navigation, mais limitée aux événements de l’article.

Créer un nouvel événement

Le lien situé dans le bandeau titre de la boîte agenda permet de créer un nouvel événement

Modifier un événement

Lorsque vous dépliez un événement, un bouton [modifier] permet d’accéder à l’édition de l’événement.

Si l’événement est une répétition, il n’est pas possible de l’éditer directement. Dans ce cas le lien modifier est remplacé par un lien [source] qui permet d’accéder à l’événement source pour le modifier.

Edition d’un événement

Que ce soit lors de la création ou l’édition d’un événement, la saisie se déroule désormais sur une page indépendante dédiée :

Outre les champs habituels de titre et descriptif, vous y retrouverez la zone d’édition des dates de début et de fin. Une case à cocher toute la journée permet de ne pas sélectionner d’horaire.

Sur chaque champ de saisie de la date, une icone calendrier permet d’accéder à un mini calendrier de saisie.

Les répétitions sont saisies après la date de début et de fin, sur un calendrier de saisie dédié. Le principe des événements répétés et que l’heure de début et la durée sont toujours conservées de l’événement d’origine, mais seul les jours de début changent en prenant les valeurs cochées dans le calendrier des répétitions.

Après saisie, lorsque vous enregistrez votre événement, vous revenez sur la page d’origine avec ce seul événement affiché en détail :

Vous pouvez ainsi vérifier votre saisie.

Vous pouvez retrouver tous les événements, ou les événements à venir seulement, en cliquant sur les liens correspondants.

Squelettes et boucle EVENEMENTS

En ce qui concerne l’utilisation du plugin agenda dans les squelettes, vous pouvez vous référer à la documentation du Plugin Agenda pour SPIP 1.9.2.

Nouveaux critères

{evenement_a_venir} pour sélectionner les événements pas encore commencés à la date courante
{evenement_a_venir #ENV{date}} pour sélectionner les événements pas encore commencés à la date #ENV{date}
{!evenement_a_venir #ENV{date}} pour sélectionner les événements finis ou en cours à la date #ENV{date}

{evenement_en_cours} pour sélectionner les événements en cours à la date courante
{evenement_en_cours #ENV{date}} pour sélectionner les événements en cours à la date #ENV{date}
{!evenement_en_cours #ENV{date}} pour sélectionner les événements *pas* en cours à la date #ENV{date}

{evenement_passe} pour sélectionner les événements passés/finis à la date courante
{evenement_passe #ENV{date}} pour sélectionner les événements passés/finis à la date #ENV{date}
{!evenement_passe #ENV{date}} pour sélectionner les événements en cours ou pas encore commencés à la date #ENV{date}

Il est possible combiner ces 3 critères pour effectuer une sélection fine.

Pour un affichage sous forme d’agenda en case, voir SPIP 3, Agenda et FullCalendar ou encore Agenda Fullcalendar facile.

Discussion

616 discussions

  • 5
    crazyspip

    Bonjour,

    J’utilise agenda 3.18.1 avec Agenda Fullcalendar facile, ça fonctionne super bien, merci pour les plugins. J’aimerais cependant :

    1- pouvoir créer un événement sans lien vers un article.
    En cherchant, j’ai trouvé qu’il était possible d’utiliser une constante _AGENDA_AUTORISER_ORPHELINS dans mes_options.php mais quelle syntaxe faut-il utiliser au juste ?

    2- pouvoir, surtout, créer un événement dont le lien point hors du site Spip.
    Mon agenda répertorie des actions organisées par diverses associations et je ne souhaite pas nécessairement écrire mon propre article sur telle ou telle action mais pointer vers la page de leur site, par exemple.
    Jusqu’à présent, je n’ai que quelques entrées dans l’agenda et j’utilise une parade qui est de créer un article virtuel sur Spip qui lui-même redirige vers le site extérieur mais ce n’est pas très efficient comme méthode, surtout lorsque les dates se multiplieront.

    Pouvez-vous m’aider ? Grand merci !

    • Salut,

      la syntaxe pour les évènements sans article

      define('_AGENDA_AUTORISER_ORPHELINS', true);

      dans ton fichier mes_options.php

    • crazyspip

      Salut Jean-Marie,

      Un tout grand merci pour ta réponse !

      Pour l’autre partie (événements avec liens externes), je pense que je vais me tourner vers la liste spip parce que le forum de ce plugin-ci ne paraît pas être très suivi. :-)

    • Pour le lien externe, recherche peut être du côté d’un champs extra qui servirait d’url dans ton squelette ?

    • crazyspip

      Pardon, je n’avais pas vu ta réponse.

      J’y ai pensé mais ça ne me paraît pas simple. Il n’y a pas moyen de lier automatiquement un champ extra à un événement. Donc il faudrait, je suppose, surcharger le squelette événement de l’espace privé pour y inclure le nouveau champ. Jusque là, je dois m’en tirer.

      Il n’en reste pas moins que l’événement continuera à chercher son lien dans le champ prévu à cet effet. Donc j’imagine qu’il faut aussi modifier le PHP qui gère tout ça. C’est plus hasardeux pour moi... Et s’il faut modifier le PHP, autant le modifier directement pour qu’il accepte un lien externe, non ?

    • Salut,
      Comme Crazyspip, j’aimerais pouvoir créer un événement sans lien vers un article.
      J’ai intégré la constante « define(’_AGENDA_AUTORISER_ORPHELINS’, TRUE) ; » dans le fichier « mes_options.php », mais aucun résultat !
      Le plugin m’affiche un message d’erreur « Vous devez indiquer un article » dans le champ « Associé à l’article » de la création d’événement.

      Merci
      Pour info j’utilise Spip 3.1.1 + Z-core + Agenda 3.18.4

    Répondre à ce message

  • Pour info après changement des bornes

     compatibilite="[3.0.0;3.2.*]"

    RAS

    Répondre à ce message

  • Arthezius

    Bonjour,
    Une amélioration que je verrai bien, la possibilité de rajouter des couleurs sur les événements pour leur affichage sur l’agenda. Cela permettrai de distinguer certains types d’événements.
    Merci par avance.

    Répondre à ce message

  • Bonjour,

    Y a -t’il une possibiltié pour que lorsque l’on clique sur une date du calendrier, ça pointe vers l’évènement associé à l’article en cours et non les évènements du « jour » ?

    Exemple : https://www.kandidator.fr/Jean-Baptiste-SIAUSSAT.html
    -  > Quand on clique sur une date forcément on arrive sur la page « jour » avec tous les évènement associé au jour et je voudrais que l’on arrive sur l’évènement associé à l’article.

    Précision : Actuellement ne s’affichent que les jours où il y a un évènement pour Jean-Baptiste.

    Merci pour vos lumières.

    Gil

    Répondre à ce message

  • Vincent

    Bonjour !

    Je cherche à faire une certaine fonction, pour laquelle je n’ai rien réussi et je ne trouve rien.

    Je veux, pour une événement qui a été entré avec une date de début et une date de fin, entrer chacune des dates individuelles.

    Par exemple, un événement qui aurait lieu du 1er mars au 5 mars 2017 afficherait une liste :
    2017-03-01
    2017-03-02
    2017-03-03
    2017-03-04
    2017-03-05

    Est-ce possible, et si oui comment ?

    Merci de votre aide !

    Répondre à ce message

  • Bonjour,

    Qu’en est-il exactement de cette version du plugin qui permet de se passer de l’obligation de lier les événements aux articles ?

    Répondre à ce message

  • 5

    Salut,

    n’ayant eu de réponse sur la liste spip-zone, je poste ici :

    dans Agenda, les dates sont indiquées (balise meta) avec l’attribut itemprop (startDate/endDate) au format iso pour être lisible notamment par les moteurs de recherche (cf https://framapic.org/mkiqCtwckzKL/n0EwMOKQnzIw.jpg ).
    Ca se passe L6 + L7 de /squelettes/inclure/resume/evenement.html (cf http://zone.spip.org/trac/spip-zone/browser/_plugins_/agenda/branches/v3/squelettes/inclure/resume/evenement.html )

    Le souci, c’est que le filtre |date_iso utilisé (http://www.spip.net/fr_article5641.html) affiche bien la date au format ISO mais à l’heure GMT : 2016-10-27 12:37:52 devient 2016-10-27T10:37:52Z. On a donc 2h d’avance, ce qui donne une heure inexacte (voir même un jour d’avance dans le cas de d’évènement sur la journée).

    Dans mon cas, l’évènement du 20 au 23 décembre apparait donc du 19 au 22 dans le moteur de recherche (cf capture d’écran)...

    Y a t’il une solution ?

    J’ai vu qu’on pouvait préciser le fuseau horaire (https://fr.wikipedia.org/wiki/ISO_8601#Fuseau_horaire) mais ça devient du bricolage si je dois le faire directement dans les squelettes...

    Merci,

    PS : le mail dans les archives de la liste https://www.mail-archive.com/spip-zone@rezo.net/msg41138.html

    • Après quelques recherches, la syntaxe

       [(#DATE_DEBUT|affdate{Y-m-dTH:i:s})]

      retourne 2016-11-21CET14:28:10 ce qui semblerait coller.
      Est-ce que quelqu’un confirme ?

    • Je ne pense pas que la syntaxe 2016-12-20CET00:00:00 soit correcte. Selon les références pour l’itemprop ou pour le dc:date, la date doit être au format ISO 8601.

      Mais elle permet de spécifier le fuseau horaire. Tu peux donc l’avoir
      -  soit en UTC (2016-12-19T23:00:00Z) avec

      [(#DATE_DEBUT|date_iso)]


      -  soit, plus précis, avec la mention du décalage (2016-12-20T00:00:00+0100) avec un truc du genre

      [(#DATE_DEBUT|affdate{Y-m-d})]T[(#DATE_DEBUT|affdate{H:i:sO})]

      Je remarque cependant, dans ton exemple, que tu as deux heures d’écart (GMT : 2016-10-27 12:37:52 devient 2016-10-27T10:37:52Z). Ton serveur est-il à l’heure ? Et as-tu utilisé un moteur de recherche localisé en France ou ailleurs ? Ça joue peut-être.

      Tu peux aussi dire à Google (et probablement aux autres aussi) que ton site est français, ce qui ne se voit pas avec le .org. Pour Google, ça se fait via les Webmaster tools.

    • Salut,

      merci pour ton retour.

      Mes sites sont bien localisés en France avec les GWT, donc la solution |date_iso ne fonctionne pas.

      Par contre, ta solution avec l’indication du décalage horaire semble fonctionner : elle indique la bonne date et précise bien décalage par rapport à UTC.
      Je vais tester ça en prod voir ce que ça donne (rdv dans 1 mois le temps que google le prenne en compte :) ).

      Pour ce qui est des 2h d’écarts, c’était avant le passage à l’heure d’hiver.

    • 1 mois plus tard, ça semble fonctionner, je commite :
      V4x https://zone.spip.org/trac/spip-zone/changeset/101870
      V3x https://zone.spip.org/trac/spip-zone/changeset/101871

      Merci pour tes retours...

    Répondre à ce message

  • Bonjour

    Est-il possible d’avoir un agenda par langue sur un site spip3 multilingue ?

    Visiblement, il n’y a pas de champ de langue dans la table événement.

    Une idée ?

    Répondre à ce message

  • Bonjour,

    Lorsque je tente de saisir les répétitions d’un événement je me rend compte que le datepîcker n’apparaît que si article et événement sont publiés. Lorsqu’ils sont proposés à la publication il faut saisir les dates à la main dans la champs texte.

    Je suis sur SPIP 3.0.24 avec le plugin version 3.18.1

    Répondre à ce message

  • 2

    Par défaut, le bouton « créer un évènement » n’apparait pas dans la barre d’outils rapides lorsqu’on active le plugin (bien qu’il soit mentionné dans paquet.xml).
    Il semble que ce soit lié à une autorisation manquante... Y a-t-il quelque chose à paramétrer quelque part ?
    Merci d’avance de l’éclairage

    • Salut,

      normalement, il apparait par défaut (testé en SPIP 3.0 et 3.1). Quelle est ta config ? As-tu un plugin qui surcharge les autorisations ?

      jean marie

    • Si je rajoute

      function autoriser_evenementcreer_menu($faire, $type = '', $id = 0, $qui = null, $opt = null) {
      return true;
      }

      dans mes_fonctions.php, c’est OK.
      J’imagine alors qu’il doit y avoir un plugin qui interfère avec agenda. Je vais faire des tests pour détecter qui fiche le bazar...

    Répondre à ce message

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