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

  • 1
    sugardaddy

    Bonjour,
    Et d’abord bravo pour cette version 2, nettement plus agréable à utiliser !!

    J’ai une question toute bête, mais je ne trouve aucune doc là-dessus. Cette nouvelle version contient des informations de place disponibles, d’inscription en ligne, de lieu et d’adresse.
    Comment affiche-t-on ces éléments ? Existe-t-il une balise pour le formulaire d’inscription ? Est-ce que chaque nouvelle inscription décrémente le nombre de place disponibles ? Etc.

    Merci d’avance pour vos réponses !!

    • Je n’ai pas testé encore, mais ca peut peut-être t’intéresser :
      Dans la boucle événement :
      #FORMULAIRE_PARTICIPER_EVENEMENT#ID_EVENEMENT

    Répondre à ce message

  • sugardaddy

    Bonjour,
    J’essaye de passer le critère id_parent mais cela ne fonctionne pas... y’a-t-il un souci avec ce critère ?
    Merci d’avance

    Répondre à ce message

  • 2

    Bonjour,
    Dans l’affichage public de l’agenda (mensuel ou hebdomadaire), quand j’appelle spip.php ?page=agenda, les titres des événements prennent systématiquement une ligne entière, ce qui rend l’agenda immense (ce qui n’est pas le cas de l’affichage du lieu par exemple, qui peut s’afficher sur plusieurs lignes).
    La modification du css ne joue pas, même si on essaie de forcer une largeur de colonne.
    Quel fichier dois-je modifier pour faire apparaître le titre dans l’agenda sur éventuellement un bloc de plusieurs lignes pour ne pas déborder de mon cadre ?

    Dans la version 1.9.2. pour la version précédente de spip, j’avais réussi à modifier quelque chose dans agenda.php, et cela donne çà : http://www.zetesis.fr/spip.php?page=agenda
    Et pour cette version, voilà ce que çà donne (c’est un essai bien sûr) : http://o.renaut.free.fr/spip.php?page=agenda

    Merci d’avance pour votre aide

    • Je sais que tout cela a à voir avec la fonction wordwrap, qui était présente sur la version 1.9 du plugin dans agenda.php et que j’avais un peu modifiée dans les lignes suivantes :

      function Agenda_rendu_boite($titre,$descriptif,$lieu,$type=’ics’)
      $texte = «  » ;
      $texte .= wordwrap($sum=typo($titre),15)."
      " ;
      $texte .= «  » ;
      $texte .= « $sum
       » ;
      $texte .= $lieu ? propre($lieu).’
      ’ :’’ ;
      $texte .= propre($descriptif) ;
      $texte .= « 
       » ;
      if ($type==’ics’)
      $texte .= (strlen($lieu.$descriptif)  


       » :« »).$lieu.(strlen($lieu)  
       » :« ») ; $texte .= $descriptif ; $texte .= «  » ;

      return $texte ;

      Mais je ne trouve pas l’équivalent dans la version 2.0 ...

    • Bonjour,

      je rencontrais le même problème.
      J’ai modifié le fichier agenda.php

      ligne 708

      original : $sum = preg_replace(’/\s+/’.$u,’ ’, typo($evenement[’SUMMARY’])) ;

      par

      $sum = typo($evenement[’SUMMARY’]) ;

      et ligne 875
      original : $sum = preg_replace(’/\s+/’.$u,’ ’, typo($sum)) ;

      par

      $sum = typo($sum) ;

      en espérant que ça fonctionne chez vous aussi

    Répondre à ce message

  • A quand la version stable (pour spip 2.0.3et+) avec le calandrier et les formulaire qui fonctionnent ?

    Répondre à ce message

  • 1

    Bonjour,

    Je rencontre quelques difficultés avec les évènements qui n’ont pas d’horaire fixe :
    -  si un événement dure un seul jour mais qu’il n’a pas d’horaire, il n’apparait pas dans le mini-calendrier.
    -  si un événement a un horaire de début, on est obligé de préciser un horaire de fin. Cependant, il arrive que l’on ne connaisse pas l’horaire de fin à l’avance. Je me demandais si il serait possible d’avoir la valeur n.c comme horaire de fin, un peu comme dans la gestion des date de publication d’un article.

    Merci pour vos réponses
    Julie

    • Bonjour,

      J’ai corrigé le problème sur les évènements qui duraienttoute une journée.
      Dans le fichier inc/agenda_filtres.php, dans les méthodes agenda_memo_full et agenda_memo_evt_full le test sur les horaires des événements.
      Il y avait un ’<’, je l’ai modifé en ’<=’.
      Car un évévement sur une journée avait la même date de début et de fin (id 00:00:00).

      Les événements remontent bien maintenant dans le mini calendrier.

      Julien / Nouveaux Territoires

    Répondre à ce message

  • Thierry

    Bravo pour ce plugin qui s’annonce prometteur pour quantité de sites...mais chez moi le calendrier ne s’affiche pas....
    Je suis en SPIP 2.0.5
    J’ai tenté la modif du code du plugin proposé dans ce forum mais cela n’a rien changé.
    Merci d’avance...

    Répondre à ce message

  • 3

    Bonjour,

    Tout d’abord merci pour cet excellent plugin et pour la contribution de tous qui m’ont pas mal aidé dans sa mise en place.

    Par contre, comme demandé plus loin dans le forum, comment pourrait-on enlever les balises <p> ?

    Merci

    • J’ai oublié de préciser que c’était uniquement pour #LIEU et #DESCRIPTIF

    • #DESCRIPTIF|textebrut pour enlever le < p >

    • Merci Eric mais je suppose que tout le formatage du texte disparaitra et ce n’est pas ce que je souhaite.

    Répondre à ce message

  • Bonjour,
    pardonnez mon ignorance, mais je viens d’installer le plug-in agenda donc sur mon site spip, mais je ne sais pas comment l’afficher sur le site. J’ai fait quelques entrées dans l’agenda, mais sur le site, je n’ai pas la rubrique agenda d’affiché ?
    Pourquoi ?
    merci pour votre aide

    Répondre à ce message

  • Merci Jeannot

    Répondre à ce message

  • 1

    Bonjour,
    Voila, j’aimerai utiliser le critère ajax afin de rafraichir que la zone de mini-calendrier.
    Lorsque j’essaye d’inclure une noisette avec la balise #CALENDRIER_MINI, le calendrier reste figer au mois en cours. Je sais qu’il faut placer cette balise à la racine du site.
    Mais alors comment faire, pour utiliser le critère ajax afin que tout marche ?

    Merci d’avance pour vos réponses.

    • bonjour,
      est ce que ca marche sans utiliser le critere Ajax ?

      Sinon et en suivant ce qui est indiqué la :http://www.spip.net/fr_article3753.html

      Ca fonctionne assez facilement, il faut :

      • 1 - creer un squelette pour include la balise #CALENDRIER_MINI, par exemple inc-calendrier-mini.html
        dans ce squelette, on peut se contenter de mettre l’appel a la balise : CALENDRIER_MINI{#ENV{date},'date',#SELF}
      • 2 - include le squelette dans la page sommaire par exemple (ou autre) en utilisant le critere ajax :
        <INCLURE{fond=inc-calendrier-mini}{ajax}{env}>
      • 3 - modifier les liens permettant de changer de mois dans calendrier_mini.html (ceux qui sont dans l’element caption de la table) en ajoutant class=« ajax »
        <a
        				href="(#ENV{self}|parametre_url{#ENV{var_date},[(#ENV{date}|Agenda_moisdecal{-1,'Y-m'})]})"
        				title="[(#ENV{date}|Agenda_moisdecal{-1,'Y-m'}|affdate_mois_annee)]">«</a>]

        devient

        <a
                                        class="ajax"
        				href="(#ENV{self}|parametre_url{#ENV{var_date},[(#ENV{date}|Agenda_moisdecal{-1,'Y-m'})]})"
        				title="[(#ENV{date}|Agenda_moisdecal{-1,'Y-m'}|affdate_mois_annee)]">«</a>]

      et de la meme facon pour le lien vers le mois suivant.

    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