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

  • 2

    Bonjour tout le monde,

    on utilise le plugin Agenda, qui nous rend de grands services, donc, tout d’abord, un grand merci aux dev’ !

    Notre problème est mineur, je vous l’expose tout de même :

    Nous affichons sur notre page d’accueil un agenda miniature des évènements à venir. Seulement, lorsque l’évènement est le mois suivants, rien ne le précise, ce qui donne une info un trompeuse. Vous pouvez en voir l’effet en ce moment notre page d’accueil (voir dans la seconde partie de l’agenda, « Les autres rendez-vous ») ou sur l’image en pièce jointe

    Comme vous pouvez le voir, l’évènement du 21 février « S’unir face au fascisme » est bien classé chronologiquement mais rien ne précise qu’il s’agit du 21 février.

    Une possibilité serai d’afficher le mois de chaque évènement dont le mois diffère de celui en cours, mais cela prendrait beaucoup de place à l’affichage.

    Autre possibilité, plus pertinente selon moi, serai d’avoir un séparateur, une mention du mois en haut de la liste des évènements des mois suivants.

    Voila, encore merci pour ce superbe outil !

    • Bonjour,

      tout ceci dépend de votre squelette, et non du plugin stricto sensu.

      J’ai déjà vu ce squelette sur d’autre site de luttes (par exemple Rebellyon.info). J’imagine que vous avez une coordination ou des gens qui l’ont dévellopé. Le mieux serait de leur demander de le modifier pour que cela profite à tous et toutes.

      En gros, et pour faire court, il faudrait utiliser quelque choses comme

      [(#DATE_DEBUT|mois|unique)]

      dans la boucle qui liste les evenements pour afficher le mois uniquement lors de la première mention.

    • Merci beaucoup pour cette réponse (diablement rapide !), on creuse dans cette direction

    Répondre à ce message

  • Bonjour,
    Je reprends un « vieux » Spip (2.1.29 et Agenda Version : 2.4.5 [95030] ) que je ne peux pas tout de suite changer,
    J’ai un souci de lien :
    Soit un article auquel sont liés un ou plusieurs événements. Lorsque je cherche à connaître tous les événements liés, le bouton « Tous » me renvoie à l’article lui-même.
    i.e. : si je suis en édition sur l’article :
    https://www.monsite.com/ecrire/?exec=articles&id_article=1361/

    le lien « Tous » me renvoie vers :
    https://www.monsite.com/ecrire/?exec=articles&id_article=1361&date_debut=1900-01-01

    Il me semble que le lien devrait être (?)
    https://www.monsite.com/ecrire/?exec=agenda_evenements&id_article=1361&date_debut=1900-01-01

    Je ne sais pas où faire une modification sur l’un (ou plusieurs) des fichiers concernés :

    ../plugins/auto/agenda_2_0/prive/contenu/evenements_article.html
    ../plugins/auto/agenda_2_0/prive/contenu/agenda_evenements.html
    ../plugins/auto/agenda_2_0/prive/contenu/liste-evenements-post.html

    P.S. Agenda Version : 2.4.5 [95030] semble être une version à jour.

    Merci de votre aide

    Répondre à ce message

  • 2

    bonjour,
    je souhaiterai pouvoir effacer les événements passés.
    Soit par l’interface privé (tous les événements d’un mois ou d’une année ) ou automatiquement ( plus d’un mois, plus d’un an par exemple).
    Y a t-il une fonctionnalité qui le permet ?
    merci

    • La toute dernière version permet d’effacer automatiquement les évènements passés depuis plus de X temps (une option du plugin). Ne fonctionne qu’à partir de spip 3.1

    • c’est super. Merci

    Répondre à ce message

  • Bonjour à tous,

    On utilise toujours ce plugin sans modération !
    Mais j’observe un petit problème dans la synchronisation des statuts (version 3.32.1) :

    Le cas de figure se présente lorsque l’article a été publié (donc, l’événement aussi) et que le rédacteur change d’avis et dé-publie l’article en le repassant en redac.
    Dans la fonction du pipeline, il semble que le cas ne se soit pas prévu dans le switch.

    On peut faire la manip à la main pour rétablir, mais vous connaissez nos rédacteurs !
     :-)

    Répondre à ce message

  • Bonjour,
    Je viens de procéder à la mise à jour du plugin Agenda (V3.32.1) en remplacement de la version antérieure.
    Cela provoque le blocage de mon site avec le message :
    Parse error : syntax error, unexpected ’[’ in /web9/cjafa/www/plugins/auto/lesscss/v1.4.3/lesscss_fonctions.php on line 154
    En désactivant le fichier lesscss_fonctions.php, je reviens à un fonctionnement partiel avec le plugin Agenda v3.32.1 inactif (dépendances manquantes), ainsi d’ailleurs que le plugin Scolaspip. La version de Spip est le 3.2.4.
    Auriez-vous une idée de la cause du problème et du moyen d’y remédier ?

    Répondre à ce message

  • 1

    J’essaye d’afficher les évènements triés par popularité de l’article qui leur correspond avec une jointure entre tables, mais je n’y arrive pas via la boucle suivante (erreur SQL « Unknown column ’article_popularite’ in ’order clause’ ») :

    <BOUCLE_articles(EVENEMENTS spip_articles){!par article_popularite}>

    Est-ce que vous avez une idée de ce que je fais mal ? Ou une autre piste ?

    Petite précision : mon ordre de tri sera passé dans l’URL donc idéalement quelque chose de compatible avec {par #ENV{tri}} ;)

    • Une boucle ARTICLES triés par popularité puis à l’intérieur une boucle EVENEMENTS listant les évènements des articles ainsi triés, ça ne le ferait pas ?

    Répondre à ce message

  • 5

    Bonjour,
    Je relance mon problème :
    Comment faire pour que l’affichage d’un évènement s’affiche aussi le jour où il a lieu.
    Pour être clair, que le feu d’artifice du 14 juillet s’affiche aussi le 14/07 puis, normal, disparaisse le 15/07
    Merci et bonne journée,
    Y

    • S’affiche où, comment ? avec quel code/boucles ? là c’est un peu obscur pour t’aider :)

    • Bonjour et merci.
      C’est de l’utilisation en standard... J’utilise agenda sur ce site :
      http://www.saint-sulpice-les-feuilles.fr
      Perso, je n’ai touché à rien.
      Heu... Ya que chez moi que les évènements de la journée ne sont pas affichés ?
      Sinon, je veux bien mettre les mains dans le cambouis avec :

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

      Ca m’irait impec... Le hic, c’est que je ne connais pas le fichier à modifier :-(
      Bonne soirée,
      Y

    • Ce n’est pas du standard, vous utilisez le squelette Escal.

      je vais regarder ce soir après le boulot pour corriger ca dans le squelette, il vous faudra ensuite le mettre à jour. je vous tient au courant.

    • En fait je ne suis pas responsable de ce squelette, donc je ne suis pas legitime à faire les modifs. Le mieux serait que vous demandier à l’auteur du sqlette en question : https://contrib.spip.net/Escal-4077

    • Ok, merci pour la réponse... Je vais poser la question à J-C V sur la liste « escal »
      Bonne journée,
      Yves

    Répondre à ce message

  • Bonjour,
    un petit souci sur les répétitions d’événements. Cela ajoute systématiquement la date du jour et on doit modifier la date souhaitée. Si l’on souhaite plusieurs répétitions il ne conserve que la dernière sélectionnée. Gênant, on s’en sort en tapant au clavier les dates souhaitées séparées par des virgules mais pas très user friendly tout ça. Ça fonctionnait mieux avant les dernières mises à jour.
    Yann

    Répondre à ce message

  • 1

    Hello
    Voici mon souci : je veux afficher les évènements à venir et s’ils ont des répétitions n’afficher que la première occurence dans le futur et afficher les répétitions au-dessous.

    Voici mon code :

    #SET{tableauprochainement,#ARRAY}
    <BOUCLE_prochainementselection(EVENEMENTS){age_fin<=0}{par date_debut}>
    [(#ID_EVENEMENT_SOURCE|=={0}|?{
    #SET{tableauprochainement,#GET{tableauprochainement}|push{#ID_EVENEMENT}},
    #SET{tableauprochainement,#GET{tableauprochainement}|push{#ID_EVENEMENT_SOURCE}}
    })]
    </BOUCLE_prochainementselection>
    
    <BOUCLE_evenements_agenda(EVENEMENTS){id_evenement IN #GET{tableauprochainement}}{"<hr />"}{pagination #GET{nbrpagevent}}{lang}>
    
    	<BOUCLE_seul(EVENEMENTS){id_evenement=#ID_EVENEMENT}{par date}{date_fin>=#DATE}{doublons}>
    	</BOUCLE_seul>
    	
    	<BOUCLE_plusieurs(EVENEMENTS){id_evenement_source=#ID_EVENEMENT}{par date}>
    		<BOUCLE_futur(EVENEMENTS){id_evenement}{age<=0}{doublons}>
    		</BOUCLE_futur>
    	</BOUCLE_plusieurs>
    	
    	
    	<BOUCLE_affiche(EVENEMENTS){!doublons}{0,1}{doublons affiche}{par date}>
    		affichage de l'évènement
    	</BOUCLE_affiche>
    	
    	<BOUCLE_autres(EVENEMENTS){id_evenement_source=#ID_EVENEMENT}{age<=1}{age>=-365}{par date}{doublons affiche}>
    		affichage des répétitions
    	</BOUCLE_autres>
    
    </BOUCLE_evenements_agenda>

    Tout ça fonctionne bien sauf pour les évènements sur la journée qui disparaissent le jour de l’évènement.
    Logique puisque sa date de fin est le jour même à 0h (soit le 6 juillet 2019 à 00h00min) pour un évènement de ce jour.

    Comment afficher malgré tout cet évènement ?

    En espérant avoir été assez clair...

    • hello

      J’avance un peu : en ajoutant cette boucle

      <BOUCLE_jour(EVENEMENTS){id_evenement=#ID_EVENEMENT}{age<=0}{date_fin=#DATE_DEBUT}{doublons}>
      </BOUCLE_jour>

      J’ai bien l’affichage de l’évènement du jour mais uniquement en local et pas en ligne alors que la version de spip est la même (la 3.2.4)

    Répondre à ce message

  • 1

    Bonjour à tous.

    Je rencontre un petit (gros :-) problème avec ce magnifique plugin agenda et calendrier-mini.
    Je suis sous spip 3.1.10 avec spipr et les dernières versions des plugins.

    Quand je demande
    /spip.php ?page=agenda
    Ça marche. (il m’affiche aucun événement mais c’est pas mon sujet du jour).
    quand je clique dans extra, par exemple sur
    /spip.php ?page=agenda&date_debut=2019-06-01
    Ça marche également très bien.

    Par contre, dès que je clique sur le calendrier genre
    /spip.php ?page=jour&date_debut=2019-06-07

    J’ai un 404 du plus mauvais effet...
    Je précise que je n’ai pas créé de squelette spécifique.

    Auriez-vous une piste ?

    Merci à vous et bonne journée.

    • Bonjour.

      Je me réponds à moi-même.

      C’est le plugin « seminaire » qui coince.
      Agenda et seminaire semblent appeler le même squelette jour...

      Si ça peut aider.

    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