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

608 discussions

  • 1

    Avec les versions récentes, le critère agendafull passe en déprécié.
    Sur SPIP 4, cela lève une erreur

    A titre d’infos, voici la syntaxe avant avec agendafull

    <BOUCLE_aujourdhui(EVENEMENTS){agendafull date_debut, date_fin, jour}{id_article?}{id_mot?}{par date_debut}{doublons}>
    <div class="col-md-4">
      <INCLURE{fond=inc/inc_evenement_preview, id_evenement} />
    </div>
    </BOUCLE_aujourdhui>

    Voici le code équivalent qui fonctionne sur les versions récentes avec evenement_passe et evenement_a_venir

    #SET{date_debut,#ENV{date_debut,#ENV{date}}|affdate{Y-m-d 00:00:00}}
    #SET{date_fin,#ENV{date_debut,#ENV{date}}|affdate{Y-m-d 23:59:59}}
    <BOUCLE_aujourdhui(EVENEMENTS){!evenement_passe #GET{date_debut}}													{!evenement_a_venir #GET{date_fin}}{id_article?}{id_mot?}{par date_debut}{doublons}>
    <div class="col-md-4">
      <INCLURE{fond=inc/inc_evenement_preview, id_evenement} />
    </div>
    </BOUCLE_aujourdhui>
    • Une astuce pour les personnes ont encore des critères {agendafull} et qui ne veulent pas mettre à jour leur code

      Vous pouvez ajouter dans squelettes/mes_fonctions.php

      <?php
      // support du vieux critere agendafull
      include_spip('inc/agenda_vieilles_def');

    Reply to this message

  • Hello.

    J’ai vu que, lors de modifications d’un évènement ayant des répétitions, le plugin demande désormais si on veut modifier toute la série ou seulement l’occurrence en cours. C’est top. 👍

    Mais il y a un bug quand on veut supprimer un mot-clé : il n’y a aucun bouton pour valider le choix (voir image jointe).
    Il y a moyen de contourner :
    -  Cliquer sur une des deux options pour mettre le focus sur le formulaire.
    -  Appuyer sur « Entrée ».
    -  Supprimer à nouveau le mot-clé
    Mais ce n’est pas pratique (et peu compréhensible pour mes auteur·rices).

    Config : Spip 3.2.15 - Agenda 4.5.1 - PHP 7.4.28

    Merci d’avance pour la correction. 🙏

    1138.

    PS : il y a deux R à « occurrence ».

    Reply to this message

  • 3

    Bonjour,
    Je constate un changement suite au passage à la branche v3 -> v4.
    Lorsqu’on se trouve sur la fiche d’un événement (/ecrire/?exec=evenement&id_evenement=XXX)
    Le bouton “Voir en ligne” renvoi désormais sur l’article et non sur l’événement comme c’était le cas auparavant, cela ne me semble pas cohérent et cela déstabilise les utilisateurs.
    Pourquoi ce choix? Est-ce possible de revenir là-dessus et le rendre optionnel?
    Bien à vous,
    Julien

    • Ca depend de la configuration du plugin : on peut choisir de mettre les pages evenements en autonome ou bien sur la page d’article. Selon la configuration, “voir en ligne” renvoi vers l’un ou l’autre.

    • Merci Maïeul pour ta réponse.
      Je me permets de chipoter un peu :
      Je constate effectivement qu’il existe une option dans la configuration du plugin pour cette question.
      Cependant j’observe une légère incohérence.
      Suite à la mise à jour Agenda v3 -> v4; le comportement change car on passe d’un cas ou le lien vers l’événement est la règle, puis quand on passe en v4, l’option par défaut effective devient le lien vers l’article... Cela porte à confusion.
      De plus qu’on va dans la page de config, le select affiche bien l’option “vers l’événement” par défaut mais dans la pratique c’est l’autre option qui effective... Il faut enregistrer la config de ce bloc pour retrouver la cohérence...

    • Ah oui, possible qu’on ai eu un loupé sur ce point. Bon bah faut ouvrir un ticket.

    Reply to this message

  • A part le problème cité par Alexis, le plugin fonctionne avec Spip 4.1.1

    Reply to this message

  • Bonjour,

    Je teste la version 4.3.9 du plugin agenda avec spip 4.1.0

    Les critères age_relatif_debut, age_relatif_fin,
    jour_relatif_debut etc.. renvoient une erreur de type:

    ecrire/inc/filtres_dates.php Line 114 : Return value of vider_date() must be of the type string, null returned

    En fouillant un peu, je trouve que normaliser_date() est appelée avec une date NULL.

    Je ne sais pas s’il faut intervenir au niveau du plugin agenda ou sur les fichiers de spip.

    Quelqu’un pour confirmer cela?

    Reply to this message

  • J’utilise ce magnifique plugin depuis plus de 10ans (spip3.2).
    Je constate cependant que les rédacteur.ices oublient les répétitions d’événements ou se limitent à répéter les événements sur un an seulement. Chaque année, nous devons compléter les événements. Souvent, nous ratons des événements.
    Pourrais-je suggérer une amélioration pour les répétitions à la façon cron ? Serait-il possible de fournir des paramètres avancés pour les occurrences: nombre d’occurences, date de fin ou jamais, type d’occurrence jour/semaine/mois/année, Xème jour/semaine/mois/année, Xème date de mois/année,...
    Tout conseil est le bienvenu aussi.
    Encore merci

    Reply to this message

  • Bonjour,

    Suis-je le seul à le constater ? La branche 4 du plugin semble introduire un dysfonctionnement dans la barre latérale de navigation des événements (colonne de gauche avec le filtrage “depuis le début”, “à venir”, etc). Un retour vers une version antérieure résout le problème.

    Comment reproduire le problème ?

    • SPIP V3.2.12 avec des événements déjà présents
    • Plugin agenda v4.3.7
    • édition puis événements
    • cliquer dans la colonne de gauche sur à venir
    • cliquer dans la colonne de gauche sur depuis le début ou sur une date
    • la liste des événements n’affiche pas les informations demandées ou de manière incohérente

    Comment résoudre ?

    Réinstaller la version de l’Agenda 3.39.5

    Avez-vous le même problème ?

    Merci !

    Reply to this message

  • Bonjour,
    J’avais déjà utilisé ce plugin dans un projet antérieur et il me semblait que l’on pouvait créer des événements non obligatoirement liés à un article ...
    J’ai fait mes petits tests et même si il y a un index “id_article” sur le champs “id_article” de la table “evenements”, ça n’a pas l’air de poser des problèmes si “id_article” est forcé à 0.
    De plus, en paramétrant un article par défaut pour les événements, quand on ne saisi pas d’article pour un événement, on passe par une erreur pour que l’article par défaut soit pris en compte (ce qui n’est pas “rassurant” pour les utilisateurs).
    Donc :
    -  Y’a-t-il un intérêt/une obligation fonctionnelle (que je n’aurais pas saisi) derrière cette obligation ?
    -  Dans ce cas, l’article par défaut peut-il être utilisé si le champs article n’est pas saisi (sans passer par un message d’erreur) ?
    -  Dans le cas contraire, est-il possible de rendre dans le formulaire de création d’événement le champs “article” obsessionnel (en fonction d’un paramétrage du plugin) ?
    Merci

    Reply to this message

  • Bonjour

    j’utilise le plugin Agenda

    j’ai mis evenement_en_cours & evenement_a_venir dans ma boucle EVENEMENTS

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

    mais les 2 combinés ne retournent aucun résultats

    WHERE (evenements.statut = 'publie')
    	AND (((horaire = 'oui') AND ((evenements.date_debut <= '2022-01-12 09:53:00') AND (evenements.date_fin >= '2022-01-12 09:53:00'))) OR ((horaire != 'oui') AND ((evenements.date_debut <= '2022-01-12 23:59:59') AND (evenements.date_fin >= '2022-01-12 00:00:00'))))
    	AND (((horaire = 'oui') AND (evenements.date_debut > '2022-01-12 09:53:00')) OR ((horaire != 'oui') AND (evenements.date_debut > '2022-01-12 23:59:59')))
    	AND ((evenements.id_article NOT IN (SELECT * FROM(
    SELECT zzza.id_article

    le AND à l’air de poser problème
    j’ai été obligé de faire 2 boucles

    c’est normal ?
    merci
    Natacha

    Reply to this message

  • 4

    bonjour,
    sur spip 3.2.11 et agenda 3.39.5
    la numérotation des événements saute un numéro sur deux
    ainsi de 9352 à 9354 puis 9356 etc.
    en remontant, le dernier événement « impair » (un numéro 7731) a pour date le 27 novembre 2020

    une bizarrerie que chez moi ?

    Caldue

    • Est-ce que cela le fait uniquement avec les evenemnt, ou avec d’autres objets ?

      ca peut être lié à certianes config serveur mysql chez certains hebergeurs

    • Effectivement, idem pour les articles

      ce site est hébergé chez lautre.net

      Claude

    • Bonjour
      certaine config de serveur de bdd comme Maria sont en effet paramétré comme ça l’auto increment est à 2
      Natacha

    • je vais regarder de plus près
      Merci
      Claude

    Reply to this message

Add a comment

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 / PostgreSQL
  • 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 apparait.

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.

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