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.

updated on 6 April 2020

Discussion

586 discussions

  • Agenda 4.2.1 - agenda-ef595 v4.2.1

    sur un site en spip 3.3 ...MariaDB serve avec la version agenda 3.2.26 pas de pb.
    avec Agenda 4.2.1 - agenda-ef595 v4.2.1 j’ai le message d’erreur suivant

    Erreur SQL 1064
    You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ’agendafull ’date_fin’) AND (evenements.statut = ’publie’) ORDER BY evenements.d’ at line 4
    SELECT evenements.id_article, L1.id_rubrique, evenements.date_debut, evenements.timezone_affiche, evenements.date_fin, evenements.id_evenement, evenements.id_evenement_source, evenements.titre FROM spip_evenements AS `evenements` INNER JOIN spip_articles AS L1 ON ( L1.id_article = evenements.id_article ) WHERE (evenements.date_debut agendafull ’date_fin’) AND (evenements.statut = ’publie’) ORDER BY evenements.date_debut
    /var/www/demospip/ecrire/public/composer.php calculer_select() sql_select(); 996

    Reply to this message

  • 3

    Bonjour,
    je viens de tomber sur un os : la boucle EVENEMENTS ne semble pas accepter {0,5} pour limiter l’affichage à 5 événements ?
    Une idée ?

    Par ailleurs, comment faire un minima d’arithmétique, genre :
    #SET{t_aff,10 - #GET{#TOTAL_BOUCLE)
    pour afficher 7 quelque_chose si la boucle précédente à 3 items ?

    Merci
    Francois

    • Il n’y a pas de raison que la boucle refuse cela. Il nous faudrait plus de contexte pour voir d’où vient le problème.

      Je ne suis pas sur de comprendre ce que tu veux, mais je pense que tu devrais trouver ton bonheur dans les filtres de test
      https://www.spip.net/fr_article901.html#Filtres-de-test

      Quelque chose comme ceci

      [(#TOTAL_BOUCLE|>{3}|oui) Un truc a affiché]
    • Merci Maïeul
      Bon disons que j’avais deux problèmes.
      -  Le premier : la question de l’affichage d’un nombre restreint d’événements
      J’ai trouvé la réponse que tu as donné sur le forum de «Plugin Agenda pour SPIP 1.9»
      (boucle englobante)
      Donc ma boucle supporte bien le {0,5}
      -  second problème : La boucle ci-dessus est précédée d’une autre sur les événements en cours.
      Je voudrais que le “max” (ici, 5) de la boucle a_venir dépende du nombre d’événement en cours, d’où le besoin d’une soustraction.
      En pseudo langage cela devrait donner:
      Si total_boucle_encours < 5
      max_avenir = 5 - total_boucle_encours
      boucle_a_venir de 0 à max avenir
      sinon
      rien
      finsi
      La solution vient probablement des dates, mais là je cale un peu. J’ai tenté, sans succès un {jour_fin<45} (ou avec age ou plein d’autres essai...s)

      Sans vouloir faire de pub, ces problèmes concernent le site du MRAP
      Nous avons été amené à dépubier pour éviter une liste trop longue d’événements...

    • pas sur de comprendre exactement ce que tu veux. encore une fois

      Mais si tu ne ne veux pas les évènements qui par exemple commencent dans moins de un an : {age_debut>-365}

      je t’invite à lire l’article de synthèse sur les critères d’age https://contrib.spip.net/Pense-bete-pour-le-critere-age

    Reply to this message

  • j’ai observer que faute de connaître l’heure de fin d’une rencontre, les rédacteurs ( plusieurs site) cochent dans ce cas la case : toute la journée et mettent l’heure de début accolée au lieu ou dans le descriptif ce qui perturbe l’affichage des événements dans une même journée. n’y a t-il pas un moyen de mettre début heure x, sans heure de fin

    merci

    Reply to this message

  • Francois Sauterey

    Un problème a priori trivial, mais je ne m’en sort par :
    Dans cette boucle, comment limité aux événement des 12 prochains mois ?

    <BOUCLE_avenir(EVENEMENTS){evenement_a_venir}>
    </BOUCLE_avenir>

    Reply to this message

  • julien Schwartz

    Bonjour et bravo pour ce plugin multi tâches,

    Je souhaite l’utiliser pour un festival de films de manière un peu différente de d’habitude. En effet, le site conserve année après année une fiche (article) pour chaque film projeté. Je veux utiliser les événements pour séparer la fiche film de l’annonce de la projection. Or certaines séances projettent plusieurs courts métrages d’affilée.
    Mon problème vient du fait de ne pouvoir associer un même événement (l’annonce de la séance) à plusieurs fiches film (articles). Est-il possible (ou prévu) de pouvoir associer un événement à plusieurs articles, je pense en particulier à la possibilité de récupérer les articles liés à l’événement via une boucle ? Je vous en remercie par avance.

    Reply to this message

  • Bonjour
    spip 3.0.28
    Agenda 3.39.4 - stable
    Dans la structure de la table “événements” je vois deux colonnes id_secteur et id_rubrique qui ne sont pas renseignées quand je créée un événement.
    Or j’aimerais qu’au moins la colonne id_secteur le soit pour pouvoir boucler sur les événements liés à des articles d’un secteur donné.
    Est-ce possible et comment ?
    Merci

    Reply to this message

  • 4

    Bonjour,

    Pour un Festival qui commence en janvier, j’aimerais afficher le calendrier mais seulement à partir du mois correspondant à la première date (c’est à dire janvier 2020) pour ne pas voir apparaître de calendrier vide.

    Lien : https://www.monvillageinvitelhumour.com/la-Tournee.html

    Comment le forcer à cela ?

    Merci.

    • Comment avez mis le calendrier? Est-ce vous qui avez codé un appel? Si oui pouvez vous forunir le code?

    • Bonjour

      Inclusion :
      <INCLURE{fond=agenda_mini,self=#SELF} />
      agenda_mini :
      #CALENDRIER_MINI{#ENV{date},date, #URL_PAGE{jour},#URL_PAGE{calendrier_mini_event.json}}

    • Ok, a priori c’est le paramètre #ENV{date} qui fournit la date de départ. Vous pouvet le remplacer par une date arbitraire. Evidement le truc c’est d’afficher janvier 2020 si vous êtes avant 2020, mais la date courant après.

      Essayez (non testée)

      [(#ENV{date}|annee|>{2019}|oui)
      #SET{date,#ENV{date}}
      ]
      [(#ENV{date}|annee|>{2019}|non)
      #SET{date,2020-01-01}
      ]
      #CALENDRIER_MINI{#GET{date},date, #URL_PAGE{jour},#URL_PAGE{calendrier_mini_event.json}} 
    • Merci mais ce n’est pas exactement ce que je vues. C’est juste afficher le calendrier avec le mois su prochain événement lorsqu’il n’y a rien pendant le mois en cours.
      Exemple : https://www.kandidator.fr/grand-concours-national-talents-2021.html où je voudrais que le calendrier s’affiche au mois de septembre où à lieu la prochaine date.

    Reply to this message

  • 3

    J’utilise des rubriques pour identifier des sections sportives et je souhaite que les administrateurs de rubriques créént des événements dans leur rubriques, je préférerais qu’il n’y ai pas besoin de créer un article AGENDA pour chaque rubrique sportive... Est ce possible de déclarer des événements directement sur une rubrique ?

    Reply to this message

  • Bonjour,
    Sur un site en SPIP 3.2.7 [24473] à jour de ses plugins il ne se passe plus rien lorsque l’on survole la puce des évènements dans les listes donc il n’est pas possible de changer leur statut facilement.
    Cela concerne toutes les pages d’admin avec des listes d’événements.
    Et comme mentionné ci-dessous ( https://contrib.spip.net/Agenda-2-0-et-ulterieur#comment504132 ) le titre des événements n’est plus crayonnable non plus.
    Merci

    Reply to this message

  • Bonjour,
    Lorsqu’on gère beaucoup d’événements, il est dommage de na pas avoir crayons sur leurs titres comme maintenant pour les articles.

    Reply to this message

Ajouter un commentaire

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