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

8 discussions

  • Bonjour,
    Lorsque j’utilise la balise
    [(#CALENDRIER_MINI#ENVdate,
    date,
    #URL_PAGEjour,
    #URL_PAGEcalendrier_mini_event.json
    )]
    J’obtiens une erreur sql : ’champ horaire ambigue’
    Il semble que cela soit corrigeable en remplaçant dans les différentes clauses ’where’ des criteres (agenda.php) horaire par evenements.horaire
    Je ne suis pas sur que ce soit la bonne méthode ?
    J’ai vu plusieurs messages dans les forums faisant part de ce problème.
    Amicalement
    Triton
    agenda 3.28.0

    Répondre à ce message

  • Bonjour
    Merci pour cet excellent plugin.
    J’ai pour un article plusieurs événements qui ont lieu le même jour à différents horaires.
    Avec la boucle suivante :

    	<ul>
    	<BOUCLE_eventtest(EVENEMENTS){id_article}{par date}{evenement_a_venir}>
    	<li>Le [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)] à [(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)]</li>
    	</BOUCLE_eventtest>
    	</ul>

    J’ai un affichage public comme ceci :
    Le lundi 18 février 2019 à 14h15
    Le lundi 18 février 2019 à 16h15
    Le mardi 19 février 2019 à 14h15
    Le mardi 19 février 2019 à 16h15
    ...

    alors que je voudrais voir ceci
    Le lundi 18 février 2019 à 14h15, 16h15
    Le mardi 19 février 2019 à 14h15, 16h15

    Merci de votre aide !

    Répondre à ce message

  • Salut cédric :-)
    Et merci pour le plug !
    Dans une futur évolution du plug, comme il y a un necessite « calendriermini », il ne serait pas possible d’avoir une interface de config, quitte à ce qu’elle ne soit que pour les webmestres ?
    Franck

    Répondre à ce message

  • 3

    Bonjour
    Depuis que j’ai fait une maj du plugin agenda ( de 3.18.7 à 3.27.4) les événements liés à un article ne s’affiche plus sur la page article . Le code pour les afficher sur cette page est :

      <!-- les évènements associés à l'article -->
                    
                    <B_lesevenements>
                    <div class="texte">
                    <h2><:evenements_associes:></h2>
                    <ul>
                    <BOUCLE_lesevenements(EVENEMENTS) {par date} {id_article}>
                            <li class="spip"><strong>[(#TITRE|supprimer_numero|couper{80})]&nbsp;</strong></br>
                            [(#DATE_DEBUT|jour|=={[(#DATE_FIN|jour)]}|?
                            { Le [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)] [(#HORAIRE|=={oui}|?{
                            [(#REM) memes heures ?]
                            [(#DATE_DEBUT|=={#DATE_FIN}|?{&agrave 
                            [(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)],''})]
                            [(#REM) pas memes heures ?]
                            [(#DATE_DEBUT|!={#DATE_FIN}|?{ de [(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)] &agrave; 
                            [(#DATE_FIN|heures)]h[(#DATE_FIN|minutes)],''})],''})], du [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)] 
                            [(#HORAIRE|=={oui}|?{&agrave; partir de [(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)],''})] au [(#DATE_FIN|nom_jour)]
                            [(#DATE_FIN|affdate)] [(#HORAIRE|=={oui}|?{jusqu'&agrave; [(#DATE_FIN|heures)]h[(#DATE_FIN|minutes)],''})]  })]</br>
                            #LIEU</br>
                            #ADRESSE</br>
                            #DESCRIPTIF</br>
                            </li>

    Version de SPIP : 3.2.0 avec le squelette Ahuntsic version 2.0.7 .
    Merci de votre aide

    • Pardon, j’ai oublié la fin du code :

                      </BOUCLE_lesevenements>
                      </ul>
                      </div>
                      </B_lesevenements> 
    • C’est très bizarre, la structure de table n’a pas changé, à ma connaissance

      Que donne les résultats du var_mode=debug

    • Et maintenant, cela remarche...
      Mystère, j’avais essayé de remplacer ce code par le code de l’exemple 2 de la page Agenda pour spip 1.9.2 et toujours pas d’événements sur la page de l’article avec dans le debug, à la ligne de la boucle événements, pas de présence de la table. J’ai remis alors ce code et bonne surprise en lisant le debug, la table est signalée, et les événements de nouveau présents sur la page de l’article.
      Merci quand même pour l’invitation à lire la page de debug.

    Répondre à ce message

  • 2

    Bonjour,

    depuis un intranet admin et rédacteurs doivent pouvoir créer de nouveaux événements. Or, je constate que les rédacteurs n’ont pas cette possibilité... notamment en formulaire public. Comment autoriser sur le mes_options ?

    Question à Maïeul s’il passe par là, j’ai installé votre plugin auteurs aux événements, et si j’ai bien possibilité de le faire manuellement, malheureusement l’auteur qui créé un événement n’est pas automatiquement greffé à celui-ci ? Je suis en PHP 7.0... dernière version du plug in Agenda et en 3.2

    • Je passe par là mais je ne suis pas l’auteur du plugin « auteur evenements ». C’est Rainer Muller (qu’on peut trouver facilement en contact sur ce site)

    • Merci du coup j’ai pris Auteurs Partout... mais même soucis, aucun auteur n’est automatiquement inscrit après création d’un événement :( Je peux le faire que manuellement.

    Répondre à ce message

  • Salut cédric :-)
    Merci pour le plug :-)
    Sinon avant de faire la correction, je voulais avoir ton avis :-)
    Je crois qu’il y a une coquille dans paquet.xml
    Le plug

    1.  <utilise nom="urls_etendues" compatibilite="[1.4.12;[" />

    https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/agenda/trunk/paquet.xml#L52
    Sauf que qu’il n’y a pas de plugin avec le prefix « urls_etendues » https://plugins.spip.net/spip.php?page=prefixes#lettre_u
    Il ne faudrait pas plutôt mettre

    1. <utilise nom="urls" compatibilite="[1.4.12;[" />

     ???
    https://zone.spip.net/trac/spip-zone/browser/spip-zone/_core_/tags/spip-3.0.0/plugins/urls_etendues/paquet.xml#L2
    Franck

    Répondre à ce message

  • Bonjour,
    Est-il possible ou envisageable d’associer un évènement également à une brève ?
    Merci pour votre retour
    Cordialement
    jérôme

    Répondre à ce message

  • 1

    Bonsoir,

    J’ai une boucle qui liste tout les évènements présents et futurs (voir ci-dessous) et, pour chaque évènement, j’aimerais afficher le titre et le lien vers l’article auquel il est attaché.

    afficher les évènements d’un article, je sais le faire, mais affiché l’article dont dépend l’évènement je ne trouve pas.
    Une hypothèse :
    ajouter à l’intérieur de la boucle évènement

    <BOUCLE_articles(ARTICLES) {id_parent}> #TITRE 
    ...
    </BOUCLE_articles>
    [(#REM) Évènements de la rubrique ]
    			<B_lesevenements>
     
    		<div class="menu menu_articles" id="actualites_toutes">			
    				<BOUCLE_lesevenements(EVENEMENTS) {!evenement_passe #ENV{date}} {par date} >
     
    			<div class="actualite">
     
     
    					<div class="logoSlide">[(#LOGO_EVENEMENT|image_reduire{150}|inserer_attribut{alt, #TITRE|attribut_html})]</div>
     
     
    						<h2 style="margin-bottom:0;">[(#TITRE|supprimer_numero|couper{200})]&nbsp;:</h2>
    							<div class="texte small">
    							  <span style="color:darkgreen;"><strong><em>[(#DATE_DEBUT|jour|=={[(#DATE_FIN|jour)]}|?{
    							  le [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)] 
    							[(#HORAIRE|=={oui}|?{
    							   [(#REM) memes heures ?]
    							     [(#DATE_DEBUT|=={#DATE_FIN}|?{&agrave 
    							[(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)],''})]
    							   [(#REM) pas memes heures ?]
    							     [(#DATE_DEBUT|!={#DATE_FIN}|?{de 
    							[(#DATE_DEBUT|heures)]:[(#DATE_DEBUT|minutes)] &agrave; 
    							[(#DATE_FIN|heures)]:[(#DATE_FIN|minutes)],''})]
    							,''})]
    							,
    							  du [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate)] 
    							[(#HORAIRE|=={oui}|?{&agrave; partir de
    							  [(#DATE_DEBUT|heures)]H[(#DATE_DEBUT|minutes)],''})] au 
    							[(#DATE_FIN|nom_jour)]
    							  [(#DATE_FIN|affdate)] [(#HORAIRE|=={oui}|?{jusqu'&agrave;
    							  [(#DATE_FIN|heures)]H[(#DATE_FIN|minutes)],''})]  })]</em></strong></span><!-- color:darkgreen; -->
    							  [<br>-&nbsp;<strong>Lieu</strong>&nbsp;: (#LIEU)][<br>-&nbsp;<strong>Adresse</strong>&nbsp;: (#ADRESSE)]
    							  #DESCRIPTIF
    							</div><!-- texte small -->
     
     
    			</div><!--  class="actualite" -->
     
    				 </BOUCLE_lesevenements>
     
    		</div> <!-- class="menu menu_articles" id="actualites_toutes" -->
     
    			</B_lesevenements>

    Merci d’avance,

    Cordialement,

    Hervé

    • Jaseur Boreal

      Bonjour,
      Selon les besoins, si l’article est lié à un seul événement ou si plusieurs événements sont reliés à l’article, les astuces peuvent différer.

      Incorporer automatiquement dans un article une boucle qui ajoute l’événement lié - Sous squelette Escal, nous avons résolu ce besoin.
      Exemple ici en bas de l’article : https://www.lettonie-francija.fr/1643

      Quand l’événement a son descriptif vide, cliquer sur l’événement dans l’agenda renvoi directement sur l’article. Quand le descriptif de l’événement est rempli nous ajoutons manuellement le modèle « choix_article » invitant à lire l’article lié, et/ou d’autres.

      Pour afficher le titre et le lien d’un article dans l’événement auquel il est attaché nous utilisons le modèle « Choix_article » qui permet d’inclure des articles dans un autre article ou dans un événement.
      Exemple d’une box Choix_article avec le lien vers un article ou plusieurs ici

      Cela vous conviendrait ?
      @+

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

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