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 pratiqe à 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.

Dernière modification de cette page le 8 mars 2018

Discussion

559 discussions

  • 7

    Bonsoir

    Si tout fonctionne parfaitement en spip 3.1, j’ai un souci avec spip 3.2 : les événements apparaissent bien sur le mini-calendrier mais pas sur l’agenda pleine page.

    J’utilise un fichier calendrier_quete.json.html modifié pour jouer avec les couleurs

    #HTTP_HEADER{Content-type:text/javascript;}
        [<BOUCLE_evenements(EVENEMENTS){', '}{par date_debut}{titre_mot?}{lang}
        {agendafull date_debut,date_fin, periode,
                #VAL{Y}|date{#ENV{start}}, #VAL{m}|date{#ENV{start}}, #VAL{d}|date{#ENV{start}},
                #VAL{Y}|date{#ENV{end}}, #VAL{m}|date{#ENV{end}}, #VAL{d}|date{#ENV{end}}}
          >
        <BOUCLE_mot(MOTS){id_evenement}{type=Agenda_couleur}{0,1}>
          [(#ARRAY{
          id,#ID_EVENEMENT,
          title,[(#_evenements:TITRE|html2unicode|unicode2charset)],
          allDay,[(#HORAIRE|=={non}|?{#EVAL{true},#EVAL{false}})],
          start,#DATE_DEBUT,end,#DATE_FIN,
          url,#URL_EVENEMENT,
          color,[(#DESCRIPTIF|PtoBR|html2unicode|unicode2charset)]
          }|json_encode)]
        </BOUCLE_mot>
        </B_mot>
          [(#ARRAY{
          id,#ID_EVENEMENT,
          title,[(#_evenements:TITRE|html2unicode|unicode2charset)],
          allDay,[(#HORAIRE|=={non}|?{#EVAL{true},#EVAL{false}})],
          start,#DATE_DEBUT,end,#DATE_FIN,
          url,#URL_EVENEMENT,
          color,#336699
          }|json_encode)]
        <//B_mot>
        </BOUCLE_evenements>]

    Et je ne vois pas ce qui coince.

    • Le Jaseur Boréal

      Bonjour,

      à @JCV,
      Je pense que cela n’est pas lié à la v3.2, avant sur la v3.0, & v3.1, cela ne fonctionnait pas non plus : https://www.lettonie-francija.fr/spip?page=agenda alors que mini-calendrier et événements à venir s’affichent.
      @+

    • Bon j’avance avec

      #SET{start,#ENV{start}|strtotime} 
      #SET{end,#ENV{end}|strtotime} 
      
      #HTTP_HEADER{Content-type:text/javascript;}
          [<BOUCLE_evenements(EVENEMENTS){', '}{par date_debut}{titre_mot?}{lang}
          {agendafull date_debut,date_fin, periode,
                      #VAL{Y}|date{#GET{start}}, #VAL{m}|date{#GET{start}}, #VAL{d}|date{#GET{start}}, 
                      #VAL{Y}|date{#GET{end}}, #VAL{m}|date{#GET{end}}, #VAL{d}|date{#GET{end}}} 
            >

      en début de fichier calendrier-quete-json.html

      Mes événements s"affichent bien !

      Me reste un souci : la couleur ...
      color,#336699 reste sans effet

    • Bon ça vient de mon squelette Escal ...
      Y’a plus qu’à corriger.

    • ça avance

      Me reste un souci avec l’affichage de l’heure : si un événement commence à 9h, l’affichage est « 09 » et je préférerais « 09h » ou mieux « 09h00 »

      Et j’aimerais aussi afficher l’heure de fin de l’événement.

      Enfin, si j’enlève les 2 lignes allDay,[(#HORAIRE|=={non}|?{#EVAL{true},#EVAL{false}})],, je ne vois pas de différence. A quoi sert cette ligne ?

    • Non non Jaseur, ça fonctionne très bien en spip 3.1, preuve en est sur le site d’Escal ...

    • Jaseur Boréal

      Bonjour @JCV,
      Je ne relatais que l’observation constatée antérieurement.
      Je suis prêt à tester la nouvelle version de l’agenda sous Escal
      @+ ;-))

    • <et moi je te parles bien de « l’ancienne » version qui est toujours l’actuelle. La nouvelle est encore en gestation et n’existe que sur mon ordi ;-)

    Répondre à ce message

  • 1

    Bonjour,
    J’ai un site avec spip 3.2, et dernières versions d’Agenda, MiniCalendrier, Full calendar Facile, Zpip, Aveline, NoiZetier, etc.

    Pour les articles, j’ai mis une noisette qui liste les événements de l’article.

    Si des articles n’ont pas d’événements liés, ils s’affichent en page blanche, même chose pour la rubrique de l’article. (mais le reste du site ok)
    Dès que je met un événement dans l’article, l’article s’affiche normal, et sa rubrique aussi.

    Si je supprime la noisette « liste d’événements » de l’article (sans événements), il s’affiche alors correct.

    Si je met une noisette « liste d’événements » avec paramètre « tous les événements », là ça marche car j’ai d’autres événements ailleurs.

    Je vois pas quoi faire...?
    pas sûr que ce soit lié à un problème des évémenents ?
    Plutôt des noisettes, d’Aveline ?

    Répondre à ce message

  • 1

    Bonjour,

    Ayant absolument besoin d’un plugin agenda avec des événements liés aux rubriques, j’ai entrepris un plugin avec La Fabrique et les Champs etra.
    Il me reste juste le mécanisme des répétitions de date.

    Comment obtenir un tel champ avec Champs extra ?

    • Je peux pas aider, mais je trouve que c’est une bonne idée de pouvoir utiliser les rubriques.
      J’espère que tu pourras finaliser et qu’on pourra tester ça
      Bravo

    Répondre à ce message

  • 2

    Bonjour,

    une mise à jour de ce super plugin est-elle prévue pour SPIP 3.2 ?

    merci

    Répondre à ce message

  • 2

    Bonjour,
    Toute nouvelle dans l’univers de Spip,
    je recherche comment SUPPRIMER UN ÉVÉNEMENT
    attribué à un article avec aucun inscrit,
    pour le déplacer et l’accrocher à un autre article.
    merci d’avance de vos réponses

    • Formellement, on ne supprime pas des objets dans SPIP. On les met à la corbeille, et SPIP vide régulièrement la corbeille (à moins que tu n’utilise le plugin corbeille, qui te permet de vider manuellement).

      Pour ce faire, tu a plusieurs méthodes :
      -  la méthode rapide : dans les liste d’objets (evenements, mais aussi articles, etc), chaque objet est normalement précédé d’un petit carré indiquant le statut. En général, c’est vert pour publié. Si tu clique sur cette puce, tu te retrouve avec une sorte de mini menu qui te permet de changer de statut. Le statut en noir, c’est à la poubelle
      -  si tu clique dans l’espace privé sur le lien d’un evenement, tu te retrouve sur la page de l’evenement. Comme pour tous les objets, tu as à gauche un menu permettant de changer le statut

      Cela étant, tu as plus intéret à déplacer l’evenement. Pour ce faire, sur la page de description de l’evenement, tu clique sur modifier l’evenement. Tu arrive sur le formulaire d’edition, et là tu peux changer l’article associé.

    • Merci beaucoup pour votre réponse très, très rapide et claire.

    Répondre à ce message

  • 3

    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

    • Hello,

      Il semble que la fonctionnalité ne soit plus dispo sur la dernière version (et c’est bien dommage...)

    • Je viens d’essayer la version trunk (actuellement 4.0.5-dev) et la fonction évènements orphelins est heureusement toujours d’actualité. Mais le plugin est encore assez bugué, je ne me risquerais pas à l’utiliser sur un site en production. Patience...

    • Bonjour à tous,
      Je n’utilise plus ce plugin pour cette raison. Dommage, j’utilise actuellement Google Agenda.
      Patience ! oui !

    Répondre à ce message

  • 1

    Bonjour ... et merci pour ce plugin,

    La liste des événements dans l’espace privé permet d’afficher les événements à venir, ou plus exactement à mettre en surbrillance le premier événement à venir à partir de la date du jour.

    Dans mon cas de figure, il serait plus pratique de n’afficher que les événements à venir.

    Je tente de surcharger, via mon répertoire de personnalisation, les squelettes concernés, notamment :

    -  prive/squelettes/navigation/evenements
    -  prive/objet/liste/evenements

    ... mais j’avoue bloquer un peu sur l’art et la manière de passer un critère age_fin<=0 à la boucle.

    Pouvez-vous m’y aider ?

    Merci d’avance

    • Et avec les « nouveaux » critères comme {evenement_a_venir} ou {evenement_en_cours} (voir en fin d’article) ?

    Répondre à ce message

  • 2

    Bonjour la communauté !

    Question : Comment supprimer définitivement des événements sans qu’ils soient marqué « à la poubelle » ?
    Je ne les vois pas dans le plugin Corbeille.

    Merci de votre aide.

    • Bonjour,
      Je ne suis pas sure de comprendre ce que tu veux faire. S’il s’agit de supprimer manuellement les événements et les voir ainsi dans la corbeille, il faut adapter le plugin corbeille pour qu’il prenne en compte les évènements :

      Dupliquer le dossier du plugin et le renommer par exemple « corbeille_perso »
      Dans prive/listes/ ajouter un fichier corbeille_evenements.html qui contient :

      Mon code ci-dessous n’est peut-être pas optimal mais il fonctionne malgré un message d’erreur qui disparaît en recalculant le cache.  
      <B_even>
      <div class="liste corbeille-evenement">
      [<h3 class="titrem">(#GRAND_TOTAL|singulier_ou_pluriel{corbeille:evenements_corbeille_un,corbeille:evenements_corbeille_tous})</h3>]
      [<p class='pagination'>(#PAGINATION)</p>]
      <ul class='liste-items checkables'>
      <BOUCLE_even(EVENEMENTS){statut}{pagination}{par date_debut}{recherche ?}>
      <li class='item'>
      <label for='evenement-#ID_EVENEMENT'><:corbeille:selectionner:></label>
      <input type='checkbox' name='elements[]' id="evenement-#ID_EVENEMENT" value='#ID_EVENEMENT'[ (#ID_EVENEMENT|in_any{#ENV{elements}}|oui)checked='checked']/>
      <h4>[##ID_EVENEMENT - (#TITRE|sinon{<:info_sans_titre:>})]</h4>
      <small>[(#DATE_FIN|affdate)]</small>
      <p class='actions'><a href='#URL_ECRIRE{evenement,id_evenement=#ID_EVENEMENT}'><:corbeille:voir_detail:></a></p>
      </li>
      </BOUCLE_even>
      </ul>
      [<p class='pagination'>(#PAGINATION{prive})</p>]
      </div>
      </B_even>

      Il faut aussi ajouter dans le fichier action/corbeille_vider.php

      "evenements" => array(
              "statut" => "poubelle",
              "tableliee"=> array("spip_documents_liens","spip_evenements_participants","spip_gis_liens","spip_versions","spip_versions_fragments"),
      ),

      Activer le plugin perso.

    • GIL FOURGEAUD

      Merci DD, c’est au top et aucune erreur :-)

      Gil

    Répondre à ce message

  • Pinchart

    Bonjour.
    Je cherche un moyen pour que les utilisateurs puissent ajouter eux-mêmes les informations en ligne, avec un formulaire adapté au design du site. Est-ce que ce plug-in est une solution ?
    Où est-il possible de voir une démo ?
    Merci d’avance.
    Patrick

    Répondre à ce message

  • 2

    Bonjour, en tant que grand utilisateur de ce plugin indispensable, sur deux sites associatifs, j’aimerais savoir s’il était possible d’améliorer deux points :

    1. Une case à cocher pour les événements dont on ne connaît pas la date et l’heure de fin....
      • Explication : Quand on choisit une date de début ultérieure à la date courante, la date de fin se règle toute seule sur le même jour, ce qui est très logique et très pratique. Malheureusement, il n’en est pas de même pour l’heure... Or, pour la plupart des événements, on connaît l’heure de début, mais pas forcément celle de fin. Du coup, pour que seule l’heure de début soit affichée, il faut à chaque fois régler celle de fin sur la même heure.
      • Proposition d’amélioration : Serait-il possible de rajouter une case à cocher « fin inconnue » qui calerait automatiquement la date et l’heure de fin sur la date et l’heure de début ? Une case qui du coup cacherait le choix de la date et l’heure de fin... un peu comme la case « toute la journée » qui cache les choix de l’heure ? Cela apporterait un gain de temps considérable dans l’ajout des événements !
    2. Empêcher la possibilité de répétitions antérieures à l’événement source
      • Explication : il est actuellement possible d’ajouter des répétitions à des dates antérieures à l’événement, ce qui n’est pas logique... et représente une source d’erreur pour les utilisateurs non avertis.
      • Proposition : un message disant « une répétition ne peut être antérieure à l’événement » serait la bienvenue au moment de valider, ou alors rendre impossible le choix de dates antérieures sur le calendrier.

    En espérant avoir été clair... merci par avance !

    • Bonjour,
      J’ai aussi souvent besoin de marquer un événement sans date et heure de fin.
      Je me débrouille avec un mot clé à ajouter sur l’événement qui doit être affiché sans donnés de fin, mais je pense qu’il serai bien d’ajouter cette fonctionnalité dans le plugin (bien indispensable, je suis d’accord).
      j

    • obiwanriko

      Bonjour
      Je suis également souvent confronté à des évènements sans heure de fin.
      Comment faites-vous avec votre mot-clef ? J’ai essayé et je vois pas comment faire...
      Merci d’avance

    Répondre à ce message

Ajouter un commentaire

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