Réaliser un agenda avec SPIP 1.4.2 (Archive)

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Il peut être tentant d’utiliser SPIP pour présenter un agenda d’événements sous forme de calendrier. Plutôt que devoir intégrer un logiciel externe spécialisé, et en attendant que SPIP intègre un nouveau type de données, voici un squelette mélant boucles SPIP et code PHP.

REMARQUE : Cet article présente une très ancienne manière de faire un agenda, pour SPIP 1.4.2. Il y a désormais un plugin Agenda qui permet de faire un agenda de manière plus propre et plus efficace.

ATTENTION : Cet article présente une ancienne version du mécanisme utilisé sur le site Gastero Prod, sur lequel est disponible un article de présentation du nouveau système plus performant.

[SPIP 1.4.2] Il peut être tentant d’utiliser SPIP pour présenter un agenda d’événements sous forme de calendrier. Plutôt que devoir intégrer un logiciel externe spécialisé, et en attendant que SPIP intègre un nouveau type de données, voici un squelette mêlant boucles SPIP et code PHP.

Exemple d’agenda
L’agenda de Gastero Prod

De quelles informations avons-nous besoin ?

La première étape consiste à déterminer comment les informations seront stockées dans SPIP, et donc saisies par les rédacteurs.

L’objectif principal étant qu’un rédacteur puisse définir une date à laquelle un événement donné doit avoir lieu, nous avons besoin des éléments suivants :

-  Au moins un champ de type texte ;
-  Un champ de type date.

Pour le champ texte, c’est simple, et nous allons même pouvoir nous régaler. SPIP nous en propose au moins 3 très utiles et systématiquement présents quel que soit le paramétrage du site : le titre, le descriptif et le texte.

La date de publication antérieure ou la vraie date de publication ?

La date de publication d’un article est déterminée automatiquement lors de sa validation, ce qui signifie que l’auteur ne peut pas la préciser à l’avance. Elle peut en revanche être modifiée par le valideur, mais elle n’est donc pas vraiment utile pour indiquer une date d’événement - surtout si on a configuré son site pour que SPIP ne publie pas les articles post-datés.

Heureusement, SPIP propose aussi une date de publication antérieure, normalement utilisée pour indiquer à quelle date a été publié un article repris ultérieurement dans SPIP, et qui peut être définie librement par le rédacteur [1].

C’est cette date que nous allons utiliser pour définir les événements de l’agenda.

Utilisation de la date de publication antérieure

Organiser les événements

Si l’agenda doit contenir beaucoup d’informations de nature diverse, il peut s’avérer utile de les qualifier (concert, film, réunion ?) pour les mettre en évidence et éventuellement ensuite les afficher de manière sélective.

Dans SPIP deux méthodes de classement viennent immédiatement à l’esprit :
-  Classement par rubrique (et éventuellement sous-rubriques) ;
-  Classement par mot-clé.

Dans cet exemple, nous allons utiliser les rubriques, ce qui nous permettra de constituer toute une arborescence pour stocker les articles événements ; cela va nous permettre de filtrer les types d’événements avec une notion de granularité progressive (c’est pas chic ça ?).

Dans l’agenda de Gastero Prod, le rubriquage n’est pas très développé, mais il est déjà possible de sélectionner uniquement les événements musicaux, et éventuellement de filtrer encore plus en ne considérant que les concerts.

Notez au passage que les logos des rubriques sont utilisés pour illustrer les événements.

Une hiérarchie de rubriques pour les thèmes
Le rendu de la sélection thématique

Intégrer l’agenda dans la partie publique

Voilà, les événements sont créés dans une arborescence de rubriques thématiques et sont positionnés à une date, passons aux choses sérieuses, l’intégration de l’agenda résultant dans les pages du site.

Première chose à faire, télécharger le package qui va grandement vous simplifier la tâche :

agenda.zip
Les fichiers pour mettre en place l’agenda

Ce package contient les fichiers suivants :

agenda.css La feuille de style permettant de personnaliser l’affichage de l’agenda
agenda.html/php3 Le squelette de l’agenda, à inclure dans vos propres squelettes, et son .php3 associé
agenda_themes.html/php3 Le squelette des thèmes de l’agenda, à inclure dans vos propres squelettes, et son .php3 associé

Pour insérer l’agenda dans votre site, le plus simple est de créer un squelette particulier pour la rubrique de votre agenda. J’ai par exemple créé le squelette rubrique-43.html sur Gastero Prod puisque la rubrique d’agenda porte l’identifiant 43.

Dans ce squelette, les éléments suivant sont à ajouter. Tout d’abord, dans l’entête, il faut ajouter la référence de la feuille de style supplémentaire à utiliser :

<link rel="stylesheet" href="agenda.css" type="text/css" />

Ensuite, il faut ajouter l’agenda lui-même, grâce à un simple INCLURE [2] placé à l’intérieur de la boucle principale RUBRIQUE :

<INCLURE(agenda.php3){id_rubrique}>

Enfin, il faut ajouter la sélection de l’arborescence thématique :

<INCLURE(agenda_themes.php3){id_rubrique=43}>

Notez que pour cette fois-ci, il faut préciser l’identifiant de la rubrique de l’agenda. C’est pour que l’arborescence thématique soit toujours complète, même si l’on n’affiche qu’une thématique particulière.

Quelques remarques techniques

Les paramètres de navigation d’un mois à l’autre sont passés dans l’URL au travers des variables var_nav_month et var_nav_year. On utilise la notation var_xxx pour indiquer à SPIP de ne pas prendre en compte ces variables pour le calcul du cache de la page, ce qui permet à la fois de limiter l’impact sur le cache (un seul fichier cache traitera toutes les pages de l’agenda) et d’accélérer l’affichage (puisque SPIP n’aura besoin d’aller chercher les données dans la base qu’une seule fois pour toutes ces pages).

La sélection des événements à afficher se fait en PHP car il n’est pas possible de sélectionner une plage de dates dans une boucle SPIP. Une boucle avec pour seul critère la restriction thématique éventuelle est donc utilisée, et une variable PHP de type tableau nommée $events est remplie avec la liste des événements susceptibles d’être affichés dans le calendrier du mois demandé.

Notes

[1Vérifiez que vous avez configuré votre site pour gérer ce type de date supplémentaire.

[2Voir la documentation de INCLURE : http://www.uzine.net/article1828.html

Discussion

64 discussions

  • 1

    Les paramètres de navigation d’un mois à l’autre sont passés dans l’URL au travers des variables var_nav_month et var_nav_year

    Et bien, sous SPIP 2.0.5 ça ne marche pas et je comprends pas (encore ?) pourquoi. Ça marchait très bien avant sous 1.9

    • Je viens de migrer de 1.9.3 vers 2.0.10.
      J’ai exactement le même problème. Tu as trouvé une solution, parce que là je vois pas du tout...

    Répondre à ce message

  • 7

    bon j’ai essayé de relir trois 4 fois mais je comprend toujour pas comment on l’intègre a spip l’agenda ou mettre le code du squellette , du php quelle variable appelle l’agenda, bon pour vous ca parait simple mais pour moi ki debut dans spip chui un peu perdu ... :-D

    • bonjour,

      au cinq fichiers présents dans l’archive de cet article il faut ajouter un fichier de plus permettant l’affichage de l’agenda dont le titre a le format rubrique-XX.html où XX correspond au numero de la rubrique agenda. si la rubrique agenda a pour numero 4 le fichier a pour nom rubrique-4.html.

      ce fichier contient dans mon cas
       

      @@ !DOCTYPE html PUBLIC « -//W3C//DTD HTML 4.01 Transitional//EN »>

      @@html lang=« fr »>
      @@head>
      @@title>Agenda@@/title>
      @@meta http-equiv=« Content-Type » content=« text/html ; charset=#CHARSET »>

      @@ !— Ceci est la feuille de style par defaut pour l’agenda de SPIP —>
      @@link rel=« stylesheet » href=« agenda.css » type=« text/css »>

      @@ !— Ceci est la feuille de style par defaut pour les types internes a SPIP —>
      @@link rel=« stylesheet » href=« spip_style.css » type=« text/css »>

      @@ !— Les feuilles de style specifiques aux presents squelettes —>
      @@link rel=« stylesheet » href=« typographie.css » type=« text/css »>

      @@ !— media=« ... » permet de ne pas utiliser ce style sous Netscape 4 (sinon plantage) —>
      @@link rel=« stylesheet » href=« habillage.css » type=« text/css » media=« projection, screen, tv »>
      @@ !— media=« print » permet d’utiliser cette feuille de style quand vous imprimez depuis votre navigateur —>
      @@link rel=« stylesheet » href=« impression.css » type=« text/css » media=« print »>

      @@/head>

      @@body background=« ./IMG/orange_degrade.jpg »>

      @@ !—[if gte IE 5.5]>
      @@div align=« left »>@@DIV ID=« oDiv » STYLE="position:relative ; height:191px ; width:825px ;
      filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(
      src=’IMG/light2.png’, sizingMethod=’scale’) ;" >
      @@/DIV>@@/div>

      @@ ![endif]—>

      @@ ![if !IE ]>
      @@div align=« left »>
      @@img src=« IMG/light2.png » alt=« Light » height=« 191px » width=« 825px » ; border=0>
      @@/div>
      @@ ![endif]>

      @@div id=« navigation »>

      @@h1 class=« structure »>Navigation@@/h1>

      @@ !— Menu de navigation general —>

      @@div class=« menu »>
      @@ul class=« general »>
      @@li class=« menu-titre »>
      [@@a href=« (#URL_SITE_SPIP) » title=« Accueil du site »>@@b>#NOM_SITE_SPIP@@/b>@@/a>]
      @@/li>
      @@li class=« menu-item »>
      @@a href=« plan.php3 » title=« Tout le site sur une page »>Plan du site@@/a>
      @@/li>
      @@li class=« menu-item »>
      @@a href=« resume.php3 » title=« Articles populaires et derniers messages de forum »>En résumé@@/a>
      @@/li>
      @@li class=« menu-item »>
      @@a href=« ecrire/ » title=« Accéder à l’espace réservé aux rédacteurs »>Administration@@/a>
      @@/li>
      @@/ul>
      @@/div>

      @@ !— Formulaire de recherche —>
      [(#FORMULAIRE_RECHERCHE)]

      @@ !— Formulaire administrateur —>
      [(#FORMULAIRE_ADMIN)]

      @@/div>

      @@div class=« contenu » id=« principal »>

      @@ !—agenda—>
      @@INCLURE(agenda.php3)id_rubrique>
      @@INCLURE(agenda_themes.php3)id_rubrique=4>
      @@ !—agenda eof—>

      @@/div>

      @@/body>
      @@/html>

      tous les < ont ete remplace par des @@ afin de rendre le code lisible. ce code est basé sur celui du squelette de base de spip
      (il contient egalement un code pour afficher des png transparents sous IE et autres navigateur)

      bonne chance

      Philippe

    • C’est expliqué dans l’article, pourtant :

      Pour insérer l’agenda dans votre site, le plus simple est de créer un squelette particulier pour la rubrique de votre agenda. J’ai par exemple créé le squelette rubrique-43.html sur Gastero Prod puisque la rubrique d’agenda porte l’identifiant 43.

    • keryado

      J’ai eu aussi des difficultés a piger la logique de l’affaire.

      j’ai pas tout reglé comme l’affichage de l’article dans la page principal qui me gene, mais le calendrier marche sa suffit pour débuter.

      J’ai d’abord lu les explications sur le site, ensuite j’ai fini par piger mais avec du mal. J’ai donc noté toutes mes opérations une par une jusqu’a réussite !

      voici ma procedure

      Allez dans site/ecrire

      1- cliquez sur ADMINISTRATION DU SITE

      -  en bas dans articles, cocher la case publication antérieur

      -  creation d’une rubrique agenda ( la premiere rubrique du site ) donc rubrique = 1

      ( ps : si vous avez déjà par exemple 3 rubriques, cette dernière que vous venez de créer aura le numero 4, si j’ai tout pigé")

      -  creation d’un article, validation du nouvelle article,

      -  cliquez sur la petite fleche noir devant « date de publication antérieur »

      -  Un menu apparait avec : afficher la date, ou ne pas afficher la date

      -  cliquez sur afficher la date, ensuite choissez une date futur et validez.

      -  ensuite ne pas oublier de publier l’article en ligne dans le menu « cet article est en cours de redaction »

      2 - deuxieme phase creation et transfert des fichiers

      -  decompression l’archive agenda.zip

      -  copier les fichiers dans la racine du site

      -  faire un copier/coller de rubrique.php3 , Resultat, vous avez un nouveau fichier « copy de rubrique.php3 »

      -  renommer ce fichier « copy de rubrique.php3 » en « rubrique-1.php3 » ou rubrique-3 ou rubrique-4 etc... suivant le numéro de votre rubrique

      -  modifier le code de rubrique-1, $fond = « rubrique-1 » ; à la place de $fond = « rubrique » ;

      -  creation d’un fichier html vierge de tout code, rubrique-1.html ou rubrique-3 ou rubrique-4 etc... suivant le numéro de votre rubrique

      intégration du code ci-dessous :

      Voila allez dans http://wotresite.com/rubrique-1.php3 et l’agenda doit apparaitre !

      cliquez sur la date que vous avez mis dans publication antérieur de l’article et vous devez voir l’article !

      je sais pas si tout est bon mais ca ma permis de voir l’agenda et l’article lié avant d’aller plus loin.

      keryado

    • keryado

      c’est le code donné sur le site dans les explications

    • je suis debutant et je n’arrive pas a afficher l’agenda
      comment faire afficher une rubrique sans creer un article ????
      sam

    • Tu ne peux pas. Il faut obligatoirement publier un article pour voir la rubrique de cet article dans le sommaire. C’est une limitation vraiment minime...

    • Merci beaucoup keryado pour tes explications « pas à pas ». Cela m’a permis de comprendre comment installer l’agenda ! Car tes explications ne sont pas de trop !
      Encore merci !

    Répondre à ce message

  • 3

    Bonjour et merci pour ce superbe agenda que j’ai installé et qui me convient parfaitement.

    Ceci dit j’ai tout de meme une question : j’ai constaté que l’agenda couvre la période 1995 > 2010.

    Ne serait-il pas possible de changer les années pour que l’agenda couvre la période 2000 > 2020 par exemple ? Merci.

    • Nicolas Hoizey

      Il « suffit » de changer ces deux valeurs dans le source.

    • mais c quoi le source ??? quelq’un peut il me dire de kel fichier il s’agit.
      merciiiiii
      nat

    • ok je me reponds a moi meme, le fichier c agenda.html.
      youpi pour une newbie

    Répondre à ce message

  • 1

    je viens de réinstaller l’agenda à partir des fichiers disponibles sur ce site.

    j’ai mon fichier rubrique-numero.html
    qui appelle un fichier agenda.php3

    mais le bouton GO ou le changement de moi aboutit à une erreur 404.

    Aucun événement ne s’affiche dans le calendrier.

    • Même chose pour moi.

      A ceci pres que tout fonctionne (je suis en 1.8.2.g) lorsque l’agenda est appelé sur un squelette rubrique : mois précédent, mois suivant et bouton envoi après sélection d’un mois spécifique.

      Par contre lorsque je rappelle l’agenda dans un article (de la même rubrique) l’agenda s’affiche, mois précédent et mois suivant fonctionne mais plus le bouton envoi qui renvoie sur une erreur 404... normal puisque l’URL est de la forme : http://site.com/{{article.php3?id_rubrique=14}}%23cal&var_nav_month=5&var_nav_year=2006

      Je suis pas assez doué pour corriger... hep !

    Répondre à ce message

  • 1

    Bravo pour ce merveilleux outil.
    J’aimerais savoir s’il est possible de résoudre mon problème.

    Je m’occupe du site web de l’école où j’enseigne et j’aurais besoin d’ajouter les jours cycles à côté de date à chaque jour.

    Ainsi, la date serait à gauche et à droite dans un encadré (table) j’ajouterai le jour cycle par une boucle spip.

    Je n’ai malheureusement pas trouvé où intégrer ma boucle et mon tableau dans le code php.
    Quelqu’un peux m’aider ?

    Merci

    Répondre à ce message

  • 2

    Avec SPIP 1.8.2d, le fichier agenda.html plantait systématiquement. Cela provenait de deux erreurs distinctes :

    1. Il ne faut pas de guillemets dans les titres des articles.
    2. Modification de la boucle évènement dans agenda.html : il faut deux pipes (|) pour appliquer le texte_script à #LOGO_ARTICLE_RUBRIQUE.

    Le résultat était le même dans les deux cas. Cela passait très bien avec SPIP 1.7.2. La version 1.8.2 est bien plus exigeante semble-t-il...

    • Quels sont exactement les modifications à faire pour que l’agenda RE fonctionne avec la version 1.8.2.

      merci

    • J’ai trouvé , il faut trouver la ligne contenant LOGO_ARTICLE et la modifier comme suit :

      $events[$date][] = array(’link’ => ’#URL_ARTICLE’, ’title’ => ’(#TITRE’, ’logo’ => ’[(#LOGO_ARTICLE_RUBRIQUE||texte_script)]’) ;

    Répondre à ce message

  • Merci pour cet agenda très pratique...
    J’ai maintenant une petite question : je souhaite ouvrir cet agenda aux internautes afin qu’ils puissent donner des dates de concerts de leurs groupes... seul soucis je n’ai pas trouvé comment permettre aux rédacteurs comment ajouter une date à leur article et en particulier une date de publication antérieure.
    Comment faire ?

    Répondre à ce message

  • Bonjour,

    Je désire réaliser un mini calendrier sous spip. Les cellules de ce calendrier ne doivent comporter aucun titre d’évenement. Ainsi, le calendrier est beaucoup plus petit, et seules les cellules pour lesquelles il y a un évenement de prévu, seraient coloriées et possèderaient un lien vers une autre page.

    Je n’ai rien trouvé à ce sujet !
    Merci d’avance de votre aide.
    gaotoncar@yahoo.com

    Répondre à ce message

  • 3

    Voilà je suis totalement néophyte dans ce monde merveilleux qu’est spip....et je n’arive pas a installer l’agenda.

    J’ai telecharger les fichiers, créer une rubrique agenda dans la partie admnistration du site, noté le numero de la rubrique est là tout devient flou :)

    Que dois-je mettre dans le fichier rubrique-5.html qu’il faut créer ?? comment se structure-t-il ?? je ne sais pas du tout ce qu’il faut modifier ajouter ect....

    Merci pour votre aide et desolé pour ma question qui paraitra surement inconsequente pour bon nombre d’entre vous, mais bon je debute.

    Boro

    • Moi j’ai le même problème. Certes, je suis un néophyte, mais quand même il doit manquer pour les débutants une info. Mais laquelle ?

    • je bloque également... qui peut nous aider ?
      Je débute et l’agenda est ma première prouesse... Sans grand succès :-(

    • Aide aux débutants : le principal probleme vient du fait que les débutants se lancent directement avec la nouvelle version de SPIP 1.8.
      Cette version n’est pas moins bonne que la 1.7 (bien au contraire) mais la structure des fichiers à changé.
      Certaines contribs ont été conçues pour fonctionner sous 1.7 et donc respectent l’ancienne structure.
      Dans le cas de l’agenda par exemple, si tu rencontre des probleme, essaye de mettre les fichiers rubrique-xx.html et rubrique-xx.php3 dans le repertoire /dist et non pas dans la racine de SPIP.

    Répondre à ce message

  • Bonjour,

    Cet agenda est génial ! Je n’ai pas trouvé des problèmes pour l’installation…
    Je n’utilise pas l’affichage des rubriques, seulement l’agenda et je voudrais que les gens puisent voir les détailles dans une petite fenêtre.
    Je voudrais savoir comment on peut faire pour que les événements s’ouvrant dans une popup. C’est possible ?

    Si quelqu’un sait le code et où il faut le mettre, ça serait vraiment génial parce que je suis absolument ignorante sur tout ce qui est php

    Merci en avance à tous et à toutes et mes excuses pour mon français.

    Répondre à ce message

  • 5

    La contrib ne marchant pas chez moi (mkdate), je l’ai modifié. Après pas mal de galère, ça marche.
    Voici le code que j’ai mis à la place de la boucle evenements

    <BOUCLE_evenements(ARTICLES){branche}>
    	<?php
    	$date = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3", '#DATE_REDAC');
    	$az=substr($date,0,4);
    	$mz=substr($date,4,2);
    	$jz=substr($date,6,2);
    
    	if ($date > date("Ymd", mktime(0, 0, 0, $M, -7, $Y)) && $date < date("Ymd", mktime(0, 0, 0, $M + 1, 7, $Y))) {
    		if (!isset($events[$date])) {
    			$events[$date] = array();
    		}
    		$events[$date][] = array('link' => '#URL_ARTICLE', 'title' => '[(#TITRE|texte_script)]', 'logo' => "#LOGO_ARTICLE_RUBRIQUE");
    		$chapo=intval('#CHAPO');
    		while ($chapo>1) {
    	$chapo=$chapo-1;
    	$datezzz=date("Ymd",mktime(0, 0, 0, $mz,$jz+$chapo,$az));
    	$events[$datezzz][] = array('link' => '#URL_ARTICLE', 'title' => '[(#TITRE|texte_script)]', 'logo' => "[(#LOGO_ARTICLE_RUBRIQUE|left)]");
    	}
    	}
    	?>
    </BOUCLE_evenements>

    Cela permets d’afficher 1 article sur plusieurs jours. Il suffit d’indiquer le nombre de jours à afficher dans le champ Chapeau.

    Merci Mr Michel Lo pour cette modif en tout cas.
    Il faut noter qu’elle ne fonctionne pas sur la nouvelle version du calendrier.

    • Bravo pour ce superbe agenda !

      J’ai juste un souci lorsque mon événement de plusieurs jours (définit dans le chapeau) couvre plusieurs mois, il ne s’affiche dans l’agenda que le premier mois et à partir du mois suivant plus rien... Est-ce aussi le cas chez vous ou un plutot un bug chez moi ??? Merci d’avance

    • Un petit complément / cette contrib qui m’a bien servie : il est possible de préciser dans le chapo les jours précis de l’affichage des événement du calendrier, simplement en indiquant chaque jour en plus de la date du début de l’événement, séparé d’une virgule.
      Le code (dans la boucle événements) :

      <?php<br>
          $date = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3", '#DATE');<br>
          $az=substr($date,0,4);<br>
          $mz=substr($date,4,2);<br>
          $jz=substr($date,6,2);<br>
      <br>
          if ($date > date("Ymd", mktime(0, 0, 0, $M, -7, $Y)) && $date < date("Ymd", mktime(0, 0, 0, $M + 1, 7, $Y))) {<br>
              if (!isset($events[$date])) {
                  $events[$date] = array();
              }<br><br>
              $events[$date][] = array('link' => '#URL_ARTICLE', 'title' => '[(#TITRE|texte_script)]', 'logo' => "#LOGO_ARTICLE_RUBRIQUE");<br><br>
              $chaine= ('#CHAPO');<br>
              if (strlen($chaine)!=0) {  <br>
                  $tableau=explode(",", $chaine);<br>
                  for($i=0;$i<sizeof($tableau);$i++){<br>
                      $tableau[$i] = intval($tableau[$i]);
                  }<br><br>
                  for ( $i=0; $i < sizeof($tableau); $i++ ) {<br>
                      $datechapo= $tableau[$i] ;<br>
                      $datezzz=date("Ymd",mktime(0, 0, 0, $mz,$datechapo,$az));<br>
                      $events[$datezzz][] = array('link' => '#URL_ARTICLE', 'title' => '[(#TITRE|texte_script)]', 'logo' => "[(#LOGO_ARTICLE_RUBRIQUE|left)]");<br>
                  }<br>
              }<br>
          }<br>
          ?>
    • Bon, perso, un événement ne s’affiche pas pendant plus d’1 mois. Un peu contraignant mais bon.

      Sinon, pour ce que tu proposes, si on pase en mode « réalité concrète », que faut il mettre dans le champ chapo alors ???

    • il suffit de mettre le jour de chaque événement, séparé par une virgule.
      ex : 15,16,21,22,26
      Inutile de préciser la première date qui est déja dans la première partie du code (#DATE). Par contre, ça ne résout pas le pb des événements qui chevauchent plusieurs mois.

    • Bonjour :
      j’aimerai pouvoir utiliser cet astuce, mais j’obtiens ce message :
      Parse error : parse error, unexpected T_LNUMBER in c :\archivos de programa\easyphp\www\spip\CACHE\2\agenda-12.c1483b.NEW on line 21

      Merci d’avance et vive SPIP :))

    Répondre à ce message

  • Excellente contrib’ ... que j’utilise, depuis peu sur mon site (en 1.8 beta 2), en l’ayant au préalable modifiée pour mes besoins persos (essentiellement l’apparence).

    Juste une question en passant, dans le cas, où l’agenda sert uniquement à écrire des articles « en masse » avec simplement Titre + Sous Titre. Il s’avère laborieux de vouloir remplir l’agenda d’une quinzaine de rendez vous en quelques minutes.
    Quelqu’un aurait-il quelques contribs à ce sujet ? Sinon, et bien, je m’en occupe, ça s’avère impératif pour la bonne marche de mon site.

    Merci nicolas pour cet agenda.

    Répondre à ce message

  • J’ai installé l’agenda dans mon site spip en construction, lorsque je clique sur la rubrique agenda, la page s’ouvre, mais...il n’y a que l’agenda, plus de menu à gauche, plus rien exepté l’agenda. Alors j’en déduis qu’il me manque une instruction qqpart, mais où ? Où sont passés mes menus si bien alignés, il faut faire « retour » pour atteindre à nouveau la page d’accueil...

    Répondre à ce message

  • Bravo pour ce superbe agenda !

    J’ai juste un souci lorsque mon événement de plusieurs jours (définit dans le chapeau) couvre plusieurs mois, il ne s’affiche dans l’agenda que le premier mois et à partir du mois suivant plus rien...
    Est-ce aussi le cas chez vous ou un plutot un bug chez moi ???
    Merci d’avance

    Répondre à ce message

  • Bonjour,
    J’ai installé d’abord cet agenda en local pour l’essayer : Pas de problème, ça marche très bien.
    Seulement, quand je veux le publier sur mon site, ça ne marche plus :
    -  Le tableau s’affiche bien, mais pas les évènements.
    -  Les sous-rubriques s’affichent également(dans le menu sur le côté, pas sur le tableau) sauf si les articles qu’elles contiennent sont publiés avec une date postérieure à la date courante.

    Je ne comprend vraiment pas pourquoi,est-ce que quelqu’un pourrait m’aider ?

    Je serait vraiment désolé de ne pas pouvoir utiliser une si bonne contrib.

    Merci d’avance pour vos réponses.

    Répondre à ce message

  • Enooooorme merci à nicolas, cette agenda est vraiment très pratique !
    Merci également à Michèle Lo qui m’a permis d’avoir les évenements sur plusieurs jours !
    Continuez, c’est vraiment super ce que vous faîtes !

    Répondre à ce message

  • 9
    Michel Lo

    Bravo à Nicolas pour ce calendrier qui est une très bonne idée.

    Je l’ai installé et cela a l’air de fonctionner magnifiquement bien, mais en pratique, il y avait deux défauts qui m’ont amené à devoir ajuster mon spip pour avoir un fonctionnement qui correspondait à mes besoins.

    1. Lorsque j’ajoute une date dans le calendrier, je ne veux pas obligatoirement que cela crée un article dans le sommaire.
    Pour éviter cela, j’ai ajouté un filtre dans la boucle sommaire {age>60} qui fait que tous les articles vieux de plus de deux mois ne sont pas affichés. Il me suffit de demander une publication avec une date antérieure de plus de deux mois pour qu’elle apparaisse dans le calendrier (à la « date de publication antérieure » comme le prévoit le squelette de Nicolas) mais pas dans la page sommaire.

    2. Je suis tombé sur un truc plus emmerdant qui est l’événement qui dure plusieurs jours. Le cas typique est celui des vacances...

    Pour ça, j’ai décidé d’utiliser le chapo, puisque je peux décrire tous les événements par le texte.

    Donc, il faut que le chapo commence par le nombre de jours de durée. Mais il peut ensuite comporter d’autres caractères, la durée est prise uniquement au premier chiffre (par exemple « 3 jours d’absence »). ATTENTION, il faut bien que le chapeau commence par le chiffre (« durée de 3 jours » est équivalent à 0 jour, ce qui fait donc un événement de 1 jour).

    Et puis bien sûr, pour que cela fonctionne, il faut modifier un peu le squelette de Nicolas : la boucle BOUCLE_evenements doit être remplacée par

    <BOUCLE_evenements(ARTICLES){branche}>
    <?php
      $date = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3", '#DATE_REDAC');
      $az=substr($date,0,4);
      $mz=substr($date,4,2);
      $jz=substr($date,6,2);
    
      if ($date > date("Ymd", mkdate($M, $D - 31, $Y)) && $date < date("Ymd", mkdate($M, $D + 31,$Y)))    {
          if (!isset($events[$date])) {
             $events[$date] = array();
          }
          $events[$date][] = array('link' => '#URL_ARTICLE', 'title' => '[(#TITRE|texte_script)]', 'logo' => "[(#LOGO_ARTICLE_RUBRIQUE|left)]");
          $chapo=intval('#CHAPO');
         while ($chapo>1) {
            $chapo=$chapo-1;
            $datezzz=date("Ymd",mkdate($mz,$jz+$chapo,$az));
            $events[$datezzz][] = array('link' => '#URL_ARTICLE', 'title' => '[(#TITRE|texte_script)]', 'logo' => "[(#LOGO_ARTICLE_RUBRIQUE|left)]");
         }
      }
    ?>
    </BOUCLE_evenements> 

    Bon amusement

    Michel Lo

    • mkdate n’est pas connu de mon heasyphp.

    • Nicolas Hoizey

      mkdate était une fonctions que j’avais créée dans l’ancienne version de l’agenda.

      La nouvelle utilise mktime.

      En gros, ces deux instructions sont équivalentes :

      $t = mktime(0, 0, 0, $mois, $jour, $annee);
      $t = mkdate($mois, $jour, $annee);
    • Nicolas Hoizey

      1. Lorsque j’ajoute une date dans le calendrier, je ne veux pas obligatoirement que cela crée un article dans le sommaire. Pour éviter cela, j’ai ajouté un filtre dans la boucle sommaire age>60 qui fait que tous les articles vieux de plus de deux mois ne sont pas affichés.

      Il serait à mon avis plus simple de filtrer le secteur de l’agenda, comme je le fait sur Gastero Prod ...

      2. Je suis tombé sur un truc plus emmerdant qui est l’événement qui dure plusieurs jours.

      Avec les champs EXTRA qui viennent d’être ajoutés, on peut faire mieux.

      Je ne suis pas trop pour ces champs, ou plutôt pour la méthode d’implémentation, mais s’ils existent, autant les utiliser.

    • Philippe Rousselot

      Bonjour,

      mon agenda avance, c’est super !

      je revient sur le filtrage des message
      pourriez vous être plus explicite.
      comment faire pour avoir une date ne correspondant pas à un article et avoir une date ne correspondant pas à un article ?

      ou ce trouve cette boucle sommaire ?
      comment se fait le fltrage dans l’agenda ?
      merci d’avance

      Philippe Rousselot

       
      1. Lorsque j’ajoute une date dans le calendrier, je ne veux pas obligatoirement que cela crée un article dans le sommaire. Pour éviter cela, j’ai ajouté un filtre dans la boucle sommaire age>60 qui fait que tous les articles vieux de plus de deux mois ne sont pas affichés.

      Il serait à mon avis plus simple de filtrer le secteur de l’agenda, comme je le fait sur Gastero Prod ...
       

    • comment faire pour avoir une date ne correspondant pas à un article et avoir une date ne correspondant pas à un article ?

      Euh ... moi pas comprendre la question ... ;-)

    • hoops !!

      comment faire pour avoir une date ne correspondant pas à un article et avoir une date correspondant à un article ?

      ex : les RMLL de Metz meritent un article associé à la date sur l’agenda, le fait que j’avertisse que je parts en vacances ne le merite pas. donc je veux seulement voir le RMLL parmis les articles

      et le coup des 60 jours, j’ai compris mais je ne sais pas quoi en faire

      Merci

      Philippe R.

    • Nicolas Hoizey

      comment faire pour avoir une date ne correspondant pas à un article et avoir une date correspondant à un article ?

      C’est pas franchement plus clair ...

      ex : les RMLL de Metz meritent un article associé à la date sur l’agenda, le fait que j’avertisse que je parts en vacances ne le merite pas. donc je veux seulement voir le RMLL parmis les articles

      Bin il suffit de mettre le premier dans l’agenda mais pas le second.

      Je ne vois vraiment pas où est le problème ...

      et le coup des 60 jours, j’ai compris mais je ne sais pas quoi en faire

       ???

    • cbondesign

      Bonjour. J’ai installé la nouvelle version de l’agenda. Cela marche sans problème.
      Par contre, mettre 1 événement sur plusieurs jours est pour mon client assez important.
      Votre modification utilisant le champ Chapo ne semble pas fonctionner avec la nouvelle version de l’agenda. Ou alors, je n’ai pas su quoi remplacer par quoi.

      Auriez vous une idée permettant d’implémenter cette fonction sur la nouvelle version du calendrier ?

      Merci pour votre réponse

    • Ca marche pas. J’ai essayé avec les 2 versions du callendrier (qui fonctionne), cette modif ne marche pas chez moi.
      Erreur à la ligne if ($date > date(« Ymd », mkdate($M, $D - 31, $Y)) && $date < date(« Ymd », mkdate($M,

      Si je mets mktime à la place, y a plus d’erreur, mais l’article qui devrait être affiché sur 10 jours (chiffre 10 dans le chapo) reste affiché sur 1 jour.
      Cette fonction est très importante pour mes clients. Si vous avez une idée, ce serait super.
      Merci d’avance

    Répondre à ce message

  • Bonjour,

    Les dates avec cet agenda s’affichent ’ 1 janvier 1970 ’ pourquoi ? :(
    http://www.caj-flc.org

    QQ’un pourrait-il me dire c’est koi ki marche pas.

    Merci d’avance et vive SPIP :))

    Siegfried - siegfried.burgeot@free.fr

    Répondre à ce message

  • Siegfried

    Bonjour à tous,
    J’ai un gros petit problème avec les dates sur mon site, les dates s’affichent comme ça :
    « 1 janvier 1970 » je crois savoir que c’est la date la + vieille en PHP, mais en tous les cas aucun événement ne date de 1970 ... lol ....

    Pourriez vous m’aider, merci d’avance et @ bientôt.

    - siegfried.burgeot@free.fr

    http://www.caj-flc.org

    Répondre à ce message

  • j’ai un pb...

    Apres avoir fait ce que je pense etre corect, j’ai deux messages d’erreurs :

    Parse error : parse error, unexpected ’ ?’ in c :\easyphp1-7\www\biospip\CACHE\a\agenda-1.5895cb.NEW on line 350

    Parse error : parse error, unexpected ’ ?’ in c :\easyphp1-7\www\biospip\CACHE\9\agenda-2.d13ca7.NEW on line 350

    pouvez vous m’aider !!!!!

    Répondre à ce message

  • Merci beaucoup, ca marche HYPER bien, sauf que les contribs de tout le monde sur l’installation ne sont pas inutiles. (Mai je maitrise le PHP et le Mysql, ca aide bien...)

    A part ca, j’ai deux problèmes
    -  peut-on, pourrait-on, quelq’un a-t’il essayé de gérer les heures ? :-(
    pour mes applications c’est tout de même un must…

    -  peut-être plus général :
    j’aimerais que les utilisateurs puissent rentrer facilement des évènements, je souhaite donc faire un formulaire particulier pour ca (sans etre obligé de passer par l’interace « écrire » de SPIP, que l’on ne peut pas personnaliser)
    Quelqu’un sait il ou trouver la doc nécessaire (quels champs modifier dans la base, ou bien quelles parties de SPIP appeler, ou bien....)

    -  enfin, je pense que cet agenda n’est absolument pas compatible avec l’agenda « privé » de spip ?

    Merci pour tout ce boulot absolument précieux.

    Michel

    Répondre à ce message

  • 2

    hello,

    j’ai récupéré l’agenda, mais j’ai qq soucis...

    l’agenda s’affiche bien dans ma page, mais je ne vois aucun evenement dedans...

    de plus, quand j’appelle un mois different du mois en cours, la présentation est completement explosée, comme si aucune feuille de style n’etait appliquée, je n’ai plus mes menus, bref la cata...

    help ;o)

    • emzeweb

      Idem que jp : l’agenda s’affiche « correctement » en ce qui concerne les styles de ma css habituelle lorsqu’on y accède la 1re fois (lorsque l’URL est simplement www.monsite.com/rubrique.php3?id_rubrique=11) mais n’affiche pas d’évènement (pourquoi ??!!).

      D’autre part, lorsqu’on se déplace dans le calendrier (mois/jour suivant ou précédent), les styles de ma css ne sont plus appliqués (l’URL est alors du type www.monsite.com/agenda.php3?id_rubrique=11&date=2004-07-01 par exemple). Si je modifie les liens pour que l’URL vers laquelle ils pointent soit du type www.monsite.com/{{rubrique.php3 ?id_rubrique=11&date=2004-07-01 et non www.monsite.com/{{agenda.php3.... la css est à nouveau appliquée correctement. Mais toujours pas d’évènements... Please help !!!!

    • Il faut juste être très très attentif et bien remplacer TOUTES les occurences de l’id_secteur correspondant à l’agenda de gasteroprod par l’id_secteur de votre propre agenda...

    Répondre à ce message

  • Dom Lepaisant

    Merci à Nicolas pour cette contrib (et le reste) ;-)

    G inserré 1 ptit agenda sur ma page d’accueil et termine actuelement la mise en forme d’une page agenda sans problèmes majeurs. Sont également annoncés les événements futurs extérieurs à la rubrique agenda. (cad inclus dans les autres rubriques).

    Trés pratique vu le cahier des charges du site.

    Pour la page d’accueil, utilisation des infobulles

    A voir prochainement sur le site encore en travaux Portail Génie Mécanique

    Merci encore pour cet excellent travail.

    Répondre à ce message

  • Bonjour

    Pour eliminer cette erreur
    « Parse error : parse error, expecting `’)’’ in /var/www/www.az-moto.com/html/CACHE/f/agenda-8.53f03f.NEW on line 28 »

    il faut enlever les logos, hors mon fonctionnement de site se base sur les logos de rubrique et les survols.

    Comment faire ?

    Pierre

    Répondre à ce message

  • 2
    hugboss

    Je viens de installer le agenda comme proposer sur contrib.
    Je tombe sur une erreur de code que je n’arrive pas a resoudre
    http://www.az-moto.com/agenda.php3?id_rubrique=8

    Parse error : parse error, expecting ')'' in /var/www/www.az-moto.com/html/CACHE/f/agenda-8.53f03f.NEW on line 28 Merci pour un coup de pouce de kelkun!!! Hugo Parse error: parse error, expecting’)’’ in /var/www/www.az-moto.com/html/CACHE/f/agenda-8.53f03f.NEW on line 28

    Merci pour un coup de pouce de kelkun !!!

    Hugo

    • pole.nord

      Même erreur sur Vivre à Mons ?
      Qui possède la réponse Merci

    • pole.nord

      C’est le logo de la rubrique qui pertube le fonctionnement de l’agenda.
      Enlevez le logo de la rubrique, l’agenda retrouve toutes ces couleurs.

    Répondre à ce message

  • merci pour l’agenda qui fonctionne bien. une petite proposition pour l’ameliorer simplement et permettre d’afficher plus d’informations sans casser la mise en page : utiliser l’attribut title de a href=« » pour avoir le descriptif en infobulle.

    voici les modifications a faire :

    ligne 29 :

    $events[$dateEvt][] = array('rub' => #ID_RUBRIQUE, 'link' => '#URL_ARTICLE', 'title' => '[(#TITRE|texte_script)]', 'logo' => '<img src="#URL_SITE_SPIP/IMG/[(#LOGO_ARTICLE_RUBRIQUE|fichier)]" />', 'desc' => '[(#DESCRIPTIF|supprimer_tags|attribut_html)]');

    et ensuite à l’affichage

    //echo '<br />'.$event['logo'].'<a href="'.$event['link'].'">'.$event['title'].'</a>';
    echo '<br /><a href="'.$event['link'].'" title="'.$event['desc'].'"">'.$event['title'].'</a>';

    voici la capture d’écran du resultat

    tuto_agenda0.png

    Répondre à ce message

  • Michel Possoz

    Proposition pour etre compatible avec le multi-langue de la version 1.7.2 et +.

    Remplacer les lignes :
    $months = array(’’, ’Janvier’, ’Février’, ’Mars’, ’Avril’, ’Mai’, ’Juin’, ’Juillet’, ’Août’, ’Septembre’, ’Octobre’, ’Novembre’, ’Décembre’) ;
    $days = array(’Dimanche’, ’Lundi’, ’Mardi’, ’Mercredi’, ’Jeudi’, ’Vendredi’, ’Samedi’) ;

    Par les lignes :
    $months = array(’’, ’janvier’ , ’février’, ’mars’, ’avril’, ’mai’, ’juin’, ’juillet’, ’août’, ’septembre’, ’octobre’, ’novembre’, ’décembre’) ;
    $days = array(’dimanche’ , ’lundi’ , ’mardi’ , ’mercredi’ , ’jeudi’ , ’vendredi’ , ’samedi’ ) ;

    Idem pour Gastero Prod.
    Bien a toi.

    Répondre à ce message

  • 9

    J’ai bien suivi les consignes.
    mais j’ai un mechant Parse error : parse error, unexpected T_STRING, expecting ’)’ in c :\program files\easyphp\www\spip2\CACHE\f\agenda-4.9b7eb2 on line 26

    • Tu pourrais dire ce qu’il y a ligne 26 de ton fichier de cache, justement ???

    • 		$events[$date][] = array('link' => 'article.php3?id_article=107', 'title' => 'Les retraites sur la toile', 'logo' => '<div onMouseOver="image2.src='IMG/ruboff4.gif'" onMouseOut="image2.src='IMG/rubon4.gif'"><img src='IMG/rubon4.gif'  name='image2'  border='0' ALT='' hspace='3' vspace='3' class='spip_logos'></div>');
      	
    • Nicolas Hoizey

      OK, ce doit être parce que tu as un logo de survol.

      Est-ce que tu peux tester en utilisant un logo simple, pour valider ?

      Si c’est bien ça, je ferais le correctif nécessaire.

    • J’avais agenda dans le squelette secteur 4 et je demandais les articles de la rubrique 4.
      J’ai changé de rubrique.
      J’ai viré le logo de survol du secteur 4 puis le logo
      J’ai un nouveau message en ligne 26 T_STRING, expecting ’)’ in ....
              $events[$date][] = array('link' => 'article.php3?id_article=10', 'title' => 'Le site Etudes.com est ouvert', 'logo' => '<img src='IMG/rubon0.jpg'  name='image2'  border='0' ALT='' hspace='3' vspace='3' class='spip_logos'>');

    • Nicolas Hoizey

      Dans mon code, la valeur de la clef ’logo’ est entourée de doubles quotes, donc je ne comprends pas que tu ne les ais pas :

      ’logo’ => « #LOGO_ARTICLE_RUBRIQUE »

    • J’ai aussi un message d’erreur du même type : Parse error : parse error, unexpected T_STRING, expecting ’)’ in c :\program files\easyphp\www\testspip\CACHE\6\agenda-29.3b5644 on line 26

      j’ai spip en local, logo de survol...

    • Nicolas Hoizey

      OK, avec un logo de survol, c’est semble-t’il normal, je vais essayer de trouver le temps de corriger ...

    • damodam

      salut, je sui sous spip 1.7.2 et juska maintenant je n’ ai rencontré aucun blème avec SPIP et jai toujou pu me debrouiller seul mais là ...!!!???

      L’ agenda est bien installé ; je rentre mes evenemt , ki aparaissent dans l’ agenda ..je vois tou et peu naviguer d’une page a l’autre mais lorsque je clique sur l’ article ou evenement en question , il m’affiche une page blanche avec les 3 bouton de SPIP ( recaculer, statistique et modifier cet article ...)portant les liens indiquent bien article.php3 ?id_article=77

      je signal ke mes articles hors agenda fonctionnentg tres bien et que j’ai bien mis la date de publi anterieur

      HELP i need sommebody HEEEEEELP (the beatles)

    • ça y est ça marche j’avai fai une fôte de frappe de con .. et maintenant ça marche

    Répondre à ce message

  • Pourriez vous me dire ou est définie la taille des logo événements au niveau de la structure de l’agenda.

    excellent travail

    Répondre à ce message

  • 3

    bonjour, je récidive parce que decidement j’y arrive pas... l’agenda s’affiche, mais vide, et tous ses liens (que ce soit les mois, ou l’arborescence des rubriques) ouvrent sur une page d’erreur du type :

    The requested URL /monsite/agenda/2004/02/36.html was not found on this server.

    a quoi ca peut bien etre dû ?
    -  est-ce parce que le reste du site affiche des urls du type id_article=x ?
    -  est-ce dû a easy php 1.7, à mes urls locales ?

    ouinnn... ya quelqu’un ??

    • ps : je précise que j’essaye d’implanter la nouvelle version de l’agenda.html, du site gasteroprod

    • J’ai eu le même problème. Ca venait du fait que j’avais copié à partir du vrai fichier html sur Gasteroprod au lieu de copier à partir du code donné dans la page Gasteroprod

    • Tout à fait d’accord avec Marc !
      j’ai eu le même problème résolu grace à sa réponse.

      Mais pourquoi n’a-t-on pas eu droit au fichier ZIP joint mit à jour ???

      Mais bon, Excellent boulot quand même, la mise en place n’est peut-être pas à la portée de tout le monde !

    Répondre à ce message

  • BRAVO !

    que dire de plus, ah oui que spip est un merveilleux outil.

    sinon que l’agenda intégré avec bloOg, c’est plutôt sympa.

    Répondre à ce message

  • zamanika

    Merci pour cette contribution ! beau travail !!!

    Répondre à ce message

  • 1

    Bonjour,
    Je reste (malgré un week-end entier à tester !) scotché sur le problème des évènements multidates.
    J’ai modifié la boucle évenement comme suit :

    <?php
    
    $datedeb = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3", '#DATE');
    
    $ADEB = intval(substr($datedeb,0,4));
    
    $MDEB = intval(substr($datedeb,4,2));
    
    $JDEB = intval(substr($datedeb,6,2));
        $datefin = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3", '#DATE_REDAC');
    
    $AFIN = intval(substr($datefin,0,4));
    
    $MFIN = intval(substr($datefin,4,2));
    
    $JFIN = intval(substr($datefin,6,2));
    
    if ($MFIN=="") {
    
    $MFIN = $MDEB;
    
    $JFIN = $JDEB;
    
    $AFIN = $ADEB;
    
    }
    
    $AP= $ADEB;
    
    $MP= $MDEB;
    
    $JP = $JDEB;
    
    while($AP<$AFIN+1) {
    
    while($MP<$MFIN+1) {
    
    while($JP<$JFIN+1) {
    
    $date=date("Ymd", mkdate($MP, $JP, $A));
    
        if ($date > date("Ymd", mkdate($M, $J - 31, $A)) && $date < date("Ymd", mkdate($M, $J + 31, $A))) {
    
            if (!isset($events[$date])) {
                $events[$date] = array();
    
            }
    
            $events[$date][] = array('link' => '#URL_ARTICLE', 'title' => '[(#TITRE|texte_script)]', 'logo' => "#LOGO_ARTICLE_RUBRIQUE");
    
        }
    
        }
    
        $JP++;
    
    }
    
    $MP++;
    
    }
    
    $AP++;
    
    }
    
        ?>

    J’ai toujours la même erreur « time exceeded ».
    J’en déduis donc que la boucle est erronéee, mais je ne sais pas d’où vient l’erreur.
    Qui pourrait m’aider (PAF autorisée... :-).
    Merci par avance,

    Vincent

    • Bonjour,
      J’ai eu le même problème que toi, et je l’ai résolu en supprimant la boucle récursive du fichier agenda_themes.html

      J’espère que cela pourra t’aider ;

      @+

      Stephanie

    Répondre à ce message

  • 1
    Fabrice WANG

    Super cet agenda, toutefois je n’arrive pas assez à bidouiller pour afficher un petit agenda (comme sur le site de gasteroprod).

    En fait je bloque sur l’affichage en lien du jour où j’ai des événements. J’ai comme affichage la date du jour générée par le calendrier et celle du jour de la publication.

    @@$case .= ’@@br />’.$event[’logo’].’@@a href=« ’.$event[’link’].’ »>’.$event[’title’].’@@/a>’ ;

    Cette ligne en fait ne devrait m’afficher en lien que la date du jour.

    Si quelqu’un a une réponse ou un bout de code pour m’aider ce serait sympa.

    Ce script est trop génial !

    • pascal-emmanuel

      Salut,

      Je n’arrive pas à faire apparaître dans ma page sommaire le petit agenda comme sous gasteroprod. Néophyte, quelqu’un peut-il me donner un coup de main. Merci

    Répondre à ce message

  • FAUTRERO Pascal

    Génial cet agenda...!!!!Bravo aux auteurs de cette petite merveille. Je vous encourage fortement à développer cet outil. Merci Beaucoup. Je m’en sers sur le site de mon collège pour fixer voyages, commissions, conseils...

    Répondre à ce message

  • 1
    Ph Matet

    Bonjour,

    j’ai installé un site avec spip 1.7 et bio-squelettes 2.6, avec agenda - excellent d’ailleurs.

    Je voudrais pouvoir signaler dans l’agenda un évènement décrit par un article dans une autre rubrique : actuellement, il me faut 2 articles ; un dans l’agenda, un dans la rubrique où je veux que l’article figure ; je voudrais donc que le module de recherche des dates de publication antérieures balaie TOUTE la base et pas seulement la rubrique Agenda... mais j’y arrive pas, parce que la routine php qui affiche le calendrier est à l’intérieur de la boucle principale ; c’est ok quand cete boucle est effectuée 1 fois (pour la rubrique Agenda) mais quand elle est effectuée pour chaque rubrique... ca ne marche plus.
    Est-ce quelqu’un a une idée ??? merci d’avance .

    au passage, je n’ai pas trouvé de doc sur le critère de boucle {branch} ?

    Répondre à ce message

  • Ph Matet

    Bonjour,

    j’ai installé un site avec spip 1.7 et bio-squelettes 2.6, avec agenda - excellent d’ailleurs.

    Je voudrais pouvoir signaler dans l’agenda un évènement décrit par un article dans une autre rubrique : actuellement, il me faut 2 articles ; un dans l’agenda, un dans la rubrique où je veux que l’article figure ; je voudrais donc que le module de recherche des dates de publication antérieures balaie TOUTE la base et pas seulement la rubrique Agenda... mais j’y arrive pas, parce que la routine php qui affiche le calendrier est à l’intérieur de la boucle principale ; c’est ok quand cete boucle est effectuée 1 fois (pour la rubrique Agenda) mais quand elle est effectuée pour chaque rubrique... ca ne marche plus.
    Est-ce quelqu’un a une idée ??? merci d’avance .

    au passage, je n’ai pas trouvé de doc sur le critère de boucle branch ?

    Répondre à ce message

  • 5

    Bonjour

    Je viens de me mettre en place un agenda en suivant les conseils délivrés ici-même (voir le lien vers le site de test en dessous)

    J’ai donc une rubrique « Agenda » à la racine de mon site, rubrique divisée en sous-rubriques : « Musique », « Cirque », « Multimédia », etc etc

    Pour insérer un événement je rédige un nouvel article que je place dans une sous-rubrique et que je publie en indiquant un date de publication antérieure. Pas de problème lorsque je rentre mon premier événement...

    Le hic apparaît lorsque je rentre un deuxième événement : je me retrouve avec deux tableaux sur ma page agenda, l’un et l’autre ne contenant qu’un événement !

    Quelqu’un aurait-il une idée pour régler ce problème ?
    Merci beaucoup !

    ps : j’utilise SPIP 1.6 et je suis hébergé chez OVH

    • Salut,

      J’ai rencontré le même problème lors de mes premiers pas avec les fichiers. J’intégrai et l’include et le code de l’agenda dans la même page. Mal m’en a pris car il est bien décris que l’on ne place que @@INCLURE(agenda.php3)id_rubrique>

      Ceci expliquerai la présence de tes agendas.

    • Heu je vois pas trop ce qu’il faut modifier dans le code de ma page rubrique-10.html... Comme le copié/collé de ce code donnerait des trucs pas très catholiques dans ce message (tout est interprété par le site ! :os), est-il possible que je t’envoye un aperçu de la chose via ton mail ?

    • Fabrice WANG

      Bien sûr ! Envoie ton fichier

    • Je suis allée voir ton squelette rubrique-10.html

      Je ne comprends pas pourquoi tu as inclu les deux lignes
      INCLURE
      à l’intérieur d’une boucle (RUBRIQUES) ???

      En faisant ça, il est normal que tu aies autant d’agendas que d’événements...

      Regarde le code proposé dans le squelette : les boucles se situent avant les INCLURE
      (j’ai voulu te recopier le bon code dans ce message, mais mon navigateur interprète ça comme du code, et ça ne passe pas).

    • Ah oui effectivement il suffisait de déplacer les INCLURE pour n’obtenir qu’un agenda... (je débute en SPIP et ne comprends pas forcément tout très bien ;)

      Merci beaucoup pour votre aide commune, et pour pour faire écho aux autres posts encore chapeau pour cette super contrib’ !!!

    Répondre à ce message

  • Répondre à ce message

  • Vraiment super, et simple à installer, cet agenda. Un très grand merci.

    Juste une question : certaines des dates renvoient sur un article, mais pour d’autres, je voudrais juste qu’elles soient mentionnées, sans que cela fasse de lien sur l’article.
    Est-ce qu’il est possible que le lien n’apparaisse pas lorsque le champ « texte » de l’article est vide ?

    Répondre à ce message

  • bonjour, apres avoir fait toutes les modifs, je me retrouve avec l’agenda vide qui s’affiche (j’ai bien mis publication anterieure)... des que je clique sur un lien (precedent, aujourd’hui, ou une rubrique de l’arbo) il m’affiche une page d’erreur avec
    The requested URL /monsite/agenda/2004/02/6.html was not found on this server.
    02 est le mois que je demande, 6 est le nom de mon secteur...

    quelqu’un a une idée ??
    ps :je suis en local sous easy php

    Répondre à ce message

  • 3

    Bonjour,
    Merci Nicolas pour cette contribution que j’ai plaisir à utiliser.
    Je reviens sur ce que demandait Coyotte dans les commentaires.
    Il demande s’il est possible de mettre un évènement qui porte sur une période.
    Tu lui répond que non : il faut saisisir la date plusieurs fois.
    Mais ne pourrait-on pas faire comme le propose robert dans son calendrier séquentiel.
    cf ’http://www.uzine.net/spip_contrib/article.php3?id_article=153
    C’est-à-dire utiliser les deux dates : #DATE et #DATE_RUB comme date de début et date de fin ?

    En particulier, il m’a semblé que dans le script il y avait une boucle qui interpréait la date pour mettre plusieurs items dans une table ??
    Le problème est que je n’y connais plus grand chose en programmation...
    Merci,
    Vincent

    • Nicolas Hoizey

      Je reviens sur ce que demandait Coyotte dans les commentaires. Il demande s’il est possible de mettre un évènement qui porte sur une période. Tu lui répond que non : il faut saisisir la date plusieurs fois.

      C’est en tout cas ce que je fais.

      Mais ne pourrait-on pas faire comme le propose robert dans son calendrier séquentiel. cf http://www.uzine.net/spip_contrib/a... C’est-à-dire utiliser les deux dates : #DATE et #DATE_RUB comme date de début et date de fin ?

      Bien sûr que si, mais cela ne me convient pas, je veux savoir à quelle date un événement a été ajouté, donc je ne peux pas détourner la date de publication.

    • Je comprends ton point de vue, mais comment faudrait-il faire ?
      Bien sûr : juste pour voir... :-)
      Merci
      Vincent

    • Nicolas,
      J’ai essayé de modifier ton script (boucle évènement) pour essayer d’integrer les dates séquentielles :

      j’ai fait ceci à partir de la ligne 80 :

      $datedeb = ereg_replace(« ^([0-9]4)-([0-9]2)-([0-9]2).*$ », « \1\2\3 », ’#DATE’) ;

      $datefin = ereg_replace(« ^([0-9]4)-([0-9]2)-([0-9]2).*$ », « \1\2\3 », ’#DATE_REDAC’) ;

      for($date = $datedeb ; $datefin ; $date++)

      if ($date > date(« Ymd », mkdate($M, $J - 31, $A)) && $date < date("Ymd", mkdate($M, $J + 31, $A)))

      if (!isset($events[$date]))
      $events[$date] = array() ;

      $events[$date][] = array(’link’ => ’#URL_ARTICLE’, ’title’ => ’(#TITRE’, ’logo’ => « #LOGO_ARTICLE_RUBRIQUE ») ;

      Conclusion :
      j’ai une erreur du type :

      Fatal error : Maximum execution time exceeded in your script on line 87

      c’est-à-dire sur la ligne :
      $events[$date] = array() ;

      Qu’est-ce cela veut dire ?

      Je pense que c’est parce que ma boucle contient trop d’éléments, mais je ne vois pas pourquoi cela ne marche pas.

      Merci bcp

      Vincent

    Répondre à ce message

  • 2

    Bonjour Nicolas et à tous,
    Deuxième question pour des champions !
    L’agenda marche avec des rubriques.
    Comment peut-on faire pour qu’une variable locale spip, par exemple <:loue :> affiche dans l’agenda soit loué, soit rented (us) soit affito (italien) en fonction de la rubrique d’où serait issue la demande.
    Sachant bien évidemment que je n’ai qu’une seule rubrique agenda, et que celle-ci se trouve dans le secteur français...
    Comme je sais que tu es à l’origine de phplang, je pense que tu vas me dire de voir le script de phplang... mais là je cale.
    Merci par avance,
    Vincent

    • Nicolas Hoizey

      L’agenda marche avec des rubriques. Comment peut-on faire pour qu’une variable locale spip, par exemple <:loue:> affiche dans l’agenda soit loué, soit rented (us) soit affito (italien) en fonction de la rubrique d’où serait issue la demande.

      Peut-être en faisant un sous-squelette pour l’élément (un article je suppose) que tu veux mettre en multiples langues, avec effectivement <:loue:> dedans, et un <INCLURE(sous_squelette.php){id_article}>, non ?

      Comme je sais que tu es à l’origine de phplang, je pense que tu vas me dire de voir le script de phplang... mais là je cale.

      Euh ... non, ça ne te sera pas vraiment utile, là, à priori ...

    • Merci Nicolas pour ta réponse ;.
      Ou je n’ai pas compris ta réponse (bouu..) :-(
      ou je me suis mal exprimé.
      http://www.annecyrent.com/rubrique.php3?id_rubrique=10

      En fait j’ai le masque de la rubrique qui affiche tout l’agenda.
      Les items (articles) sont intégrés dans l’agenda complet.
      Je n’affiche pas article par article.
      Merci,
      Vincent

    Répondre à ce message

  • Peut-on envisager de modifier l’agenda afin d’afficher le menu de navigation et le corps de l’agenda dans deux frames différentes ?
    Si oui, comment ?

    quentin

    Répondre à ce message

  • Il convient de préciser que la rubrique de l’agenda NE doit PAS avoir de logo de survol. Lorsqu’on en met un le script PHP fait des erreurs.

    Sinon, bravo pour cet utile développement et merci de le partager !

    Répondre à ce message

  • 1

    Bonjour,

    Tout d’abord, merci pour cette contribution et le temps de conception qu’elle a du représenter.
    Apparemment, l’agenda récupère les articles écris dans la rubrique créée à cet effet.
    J’ai essayé sans succès de lui faire faire autre chose : afficher tous les articles des autres rubriques du site, dont une date de publication antérieure aurait été fixée. Mon objectif était de bloquer la rubrique agenda à une simple consultation, et que celui-ci aille prendre ses infos dans les autres rubrique.
    Pour l’auteur, et quelque soit la rubrique dans laquelle il publie, il lui suffirait alors d’indiquer une date de publication antérieure pour qu’elle apparaisse dans l’agenda.

    J’ai bien essayé de jouer sur les boucles de ’agenda.htm’ mais j’obtiens autant d’agendas affichés que de rubriques. Je n’ai pas suffisamment compris la logique de ces boucles pour m’en sortir seul

    Merci de m’indiquer si le fonctionnement décrit ci-dessus est envisageable.

    • Bonjour,

      J’ai fini par trouver ce que je voulais.
      En mettant un critère tout dans la boucle de sélection des articles, j’arrive à faire apparaître les événements publiés dans les autres rubriques.

    Répondre à ce message

  • bonjour et bravo pour ce développement qui me donne quand même des sueurs. j’ai installé la première version de l’agenda sans trop de problème. Compte tenu des remarques glannées sur la liste je souhaitais installer la nouvelle version mais je rencontre qq difficultés ...

    visiblement le squellette ne fonctionne que si la rubrique agenda se trouve a la racine du site, mais ca c’est un detail. En revanche je ne comprends pas le fonctionnement de la navigation par date !!!!

    la hiérarchie des dossiers est elle créée avant ???? car je ne vois comment spip peut afficher l’url
    ’agenda/2004/02/39.html’ si la page n’a pas été calculée au préalable ????.
    j’avoue que je suis totalement perdu avec ce systeme qui me renvoie inexarablement un
    The requested URL /php/avrille_local/agenda/2004/02/39.html was not found on this server.

    si qq peut éclairer ma lanterne

    merci jacques

    Répondre à ce message

  • 1

    J’ai l’impression (ou est-ce que je fatigue ?) que l’agenda se calle sur l’heure du serveur où il est hébergé, n’est-ce pas ?

    Comment fait-on pour compenser ce décalage ?

    Mon serveur est sur GMT-7

    Encore merci pour ce superbe script.

    Yiannis

    Répondre à ce message

  • 8
    Nicolas Hoizey

    Voilà, j’ai (enfin) publié un article expliquant la mise en place de la nouvelle version de cet agenda tel qu’il est maintenant utilisé sur Gastero Prod :

    -  L’agenda : http://www.gasteroprod.com/agenda/
    -  L’article : http://www.gasteroprod.com/2003/12/...

    • Cela merite bien une breve ;-)

    • Quoi de neuf par rapport à l’ancienne ?

      Encore merci, c’est vraiment un script canon !

      Yiannis

    • Nicolas Hoizey

      Principalement l’usage des dates ...

    • Hum. Oui, c’est le principe d’un agenda, en général.

       ;-)

      Et en plus précis, s-il-te-plaît-aïe-pas-sur-la-tête ?

       :-D

    • Nicolas Hoizey

      As-tu lu l’article au moins ???

    • Nicolas Hoizey écrivait (un peu agacé, quand même) :
      « As-tu lu l’article au moins ? ? ? »

      Non. Je l’avoue. Pas en détails. J’utilise ce chouette script depuis un moment déjà et en y regardant en diagonale, tout me paraissait « entendu »...

      L’article est là depuis un certain temps, non ?

      Merci quand même.

    • Nicolas Hoizey

      Nicolas Hoizey écrivait (un peu agacé, quand même) : « As-tu lu l’article au moins ? ? ? »

      Moi agacé ? Bon, oui ... ;)

      Non. Je l’avoue. Pas en détails.

      Ah bin je vais expliquer à nouveau ici ce qui y est déjà alors ...

      J’utilise ce chouette script depuis un moment déjà

      Bin oui, mais justement, il y a eu des modifications.

      et en y regardant en diagonale, tout me paraissait « entendu »...

      L’article est là depuis un certain temps, non ?

      Depuis le 9 décembre seulement !

      Je rappelle l’URL à tout hasard : http://www.gasteroprod.com/2003/12/09/320.html

    • Nicolas Hoizey

      Je note au passage qu’il faudrait mieux mettre en évidence les <blockquote class="spip"> dans les squelettes de spip_contrib ... ;)

    Répondre à ce message

  • 7
    Olivier F

    B-) J’ai suivi les instructions, quoi qu’assez difficilement.

    :o) Cela semble fonctionner, du moins en partie...

     :-/ Les cases du calendrier reste vide malgré l’enregistrement de plusieurs articles.

    Peut-on me donner un coup de main ?

    le site en question est www.lannion.infogreve.org
    rubrique agenda (numero 15)

    • Nicolas Hoizey

      As-tu bien utilisé la date de publication antérieure ?

    • Olivier

      benh voui, de plus j’ai autant essayé de publier des articles daté d’avant-hier que daté d’après demain.
      rien ne s’affiche.

    • Nicolas Hoizey

      Et tu as bien mis l’id de ta rubrique (15 donc) partout où nécessaire ?

    • olivier

      cela, je n’en suis pas certain.
      j’ai bien nommé le squelette rubrique-15.html
      et avec une ligne <INCLURE(agenda_themes.php3)id_rubrique=15>

      mais, avec tout le respect et la sympathie que je vous accorde, cet article n’est pas des plus clairs, du moins pour les débutants ;o)

      je peux eventuellement ouvrir un ftp temporairement pour acceder aux sources... ;o)

    • Nicolas Hoizey

      Allez, je veux bien jeter un oeil vite fait, donne moi par mail tes paramètres FTP temporaires ... ;)

    • Merci pour le boulot mais j’ai moi aussi des cases vides :-)

      Je suis en local, j’ai mis des logos à mes rubriques, j’ai fait des articles datant de la semaine dernière.

      Bref c’est joli, c’est bleu, et il y a des cases. mais...

      Quelqu’un aurait une idée ?

      mh,

    • Il m’est arrivé la même chose et après 2h de recherche, j’ai compris que je confondais date antèrieure et date de publication.

      Je dis ça au cas où quelqu’un aurait à nouveau ce pb et, comme moi, chercherai la réponse ici sans la trouvé explicitement.

      snejanko

    Répondre à ce message

  • Roger FREBAULT

    Génial !!!

    Facile à installer, facile à paramétrer. Juste ce qui me fallait.

    Merci pour cette contrib.

    Prochainement sur http://www.saint-medard-handball.fr

    Roger

    Répondre à ce message

  • 4
    Diagnosys

    J’ai installé l’excellentisime agenda sur mon site mais je rencontre quelques difficultés (mineures) de mise en page...

    En effet, sur le site du Gastéroprod, je note que :
    -  dans la première ligne du titre, il y’a un lien direct vers « aujourd’hui »
    -  dans l’accès direct, il y a un lien vers « agenda » qui permet de ré-afficher l’ensemble des thèmes après en avoir selectionner un. Sans ce lien, je ne vois pas comment faire réapparaître tous les thèmes.
    -  les logos affichés pour les thèmes sont parfaitement alignés avec le texte et non pas décalés vers le haut
    -  les liens sont du type http://monsite/agenda/annee

    Comment qu’on fait tout cela ? Merci de votre aide !

    • Nicolas Hoizey

      Comment qu’on fait tout cela ? Merci de votre aide !

      La nouvelle version de Gastero Prod a été l’occasion de refondre pas mal la gestion d’agenda, notamment grace à l’amélioration de la gestion des dates dans les dernières versions de SPIP.

      Je pense présenter prochainement ces nouveautés dans un article sur Gastero Prod ...

    • comment faire pour avoir la nouvelle version ???

    • comment faire pour avoir la derniére version ?

    • Nicolas Hoizey

      Le squelette est dispo sur Gastero Prod à l’adresse suivante :

      -  http://www.gasteroprod.com/agenda.html

      Je suis en train de rédiger un article expliquant tout ça, il sera en ligne sur Gastero Prod.

    Répondre à ce message

  • 1

    Une simple question stupide : si on utilise les sous-rubriques de l’agenda, existe-t-il un moyen pour qu’une boucle qui indexe tous les articles récemment publiés sur le site « évite » l’agenda et toutes ses sous-rubriques ?

    • Si ton agenda est constitué par un secteur (rubrique à la racine du site), il suffit d’utiliser comme critère dans la boucle rubrique : id_secteur !=3 (ex. pour un agenda mis dans le rubrique n° 3).

    Répondre à ce message

  • 2

    Bonjour,

    je viens d’installer l’agenda sur SPIP (désolé je ne peux pas le montrer, c’est sur mon PC).

    tout fonctionne très bien.

    j’aimerais éviter d’avoir les évennements apparaitres tels des articles dans le menu principal (j’utilise le SPIP de base sans squelette particulier)

    comment faire ?

    Merci d’avance

    Philippe Rousselot

    Répondre à ce message

  • Merci pour cette contribution.

    Je débute dans l’utilisation de SPIP et en suivant les indications (page vierge n° de la rubrique agenda à créer)l’agenda s’est mis en ligne tout seul et très simplement.

    J’ai simplement ajouté mon entête et mon pied de page.
    Pour l’instant je n’ai qu’un article et ne rencontre pas de problème de menu « gênant »...
    Merci encore.

    Répondre à ce message

  • 1

    Bonjour, comment gérez vous un évènement se déroulant sur plusieurs dates.

    par exemple une exposition du 15 juillet au 15 août.

    • Nicolas Hoizey

      Il faut malheureusement saisir l’événement autant de fois que le nombre de jours couverts.

    Répondre à ce message

  • françois

    pour avoir AGENDA plutôt que date de publication antérieure

    dans \ecrire\lang\spip_fr.php

    ’texte_date_publication_anterieure’ => ’AGENDA (ou publication antérieure)’,
    ’texte_date_publication_anterieure_nonaffichee’ => ’ Pas d\’agenda ni publication antérieure.’,

    Répondre à ce message

  • keryado

    trop bien l’agenda :-)

    merci

    Répondre à ce message

  • 2

    Bonjour, je viens d’installer votre agenda en local sur mon pc mais il ne correspond pas trop à celui que je recherche ou je n’arrive pas à le customisé comme je le voudrais.
    Je m’explique voici l’agenda que je souhaite réaliser sous spip :

    http://www.aix-en-pce.com/fr/rubrique.php3?id_rubrique=2

    Ce qui m’intéresse c’est d’avoir une date cliquable qui redirige vers toutes les infos du jour.
    Je pense que celà est plus un calendrier qu’un agenda alors si vous pouvez m’aider ou me donner une url ou je peux trouver mon bonheur. Merci
    @+

    • Je crois que tu trouvera la réponse ici

    • Merci, j’avais reussi à trouvé cette page mais bon ça été galère pour mettre en ligne ce calendrier.

    Répondre à ce message

  • ccofabien

    Bonjour,

    Je débute avec spip et cet agenda est drolement pratique. Juste un petit problème, je souhaiterais qu’une fois dans le calendrier en cliquant sur un événement celui-ci apparaisse comme une popup. Je trouve que ce serait plus pratique de paramettrer la taille d’une fenetre et de la placer devant l’agenda. Comme ca il suffirait de la fermer pour retourner au calendrier.
    Malheureusement je suis bien imcapable de savoir comment m’y prendre !!!

    Si quelqu’un l’a déjà tenté ou sais ce qu’il faut modifier ce serait très appréciable.

    Merci, et encore bravo pour cette idée de calendrier

    Répondre à ce message

  • 4
    asso.bachant

    allez je me lance
    . premierement imprimer la doc

    • asso.bachant

      creation de la rubrique qui porte le n° 15

      création du squelette
      « rubrique-15.html »

    • voici le squelette
      @@ !DOCTYPE html PUBLIC « -//W3C//DTD HTML 4.01 Transitional//FR »>
      @@html>
      @@head>
      @@meta http-equiv=« content-type » content=« text/html ;charset=iso-8859-1 »>
      @@title>[(#NOM_SITE_SPIP)]@@/title>
      @@BOUCLE_metatags(mots)id_mottout« , »doublons>
      (#TITRE@@/BOUCLE_metatags>
      @@meta name=« robot » content=« follow, index, all »>
      <@@eta name="revisit-after" content="15 days">
      @@link rel=« stylesheet » href=« agenda.css » type=« text/css » />
      @@/head>
      @@ ?php
      include(« haut1.html ») ;
       ?>
      @@body bgcolor=« #ffffff » leftmargin=« 0 » marginheight=« 0 » marginwidth=« 0 » topmargin=« 10 »>

      @@INCLURE(agenda.php3)id_rubrique>
      @@INCLURE(agenda_themes.php3)id_rubrique=15>

      @@ ?php
      include(« bas.html ») ;
       ?>
      @@/body>

      — transfert par FTP SUR MON SITE

    • ça n’a pas l’air de fonctionner !

    • asso.bachant

      idiot que je suis, enfin le coup de l’article associé pour afficher la rubrique................

      il suffisait de créer un article.

      C’est agenda est super !.

      petite question :
      comment valider un évenement pour qu’il s’affiche tous les an a la même date.

    Répondre à ce message

  • 2
    philippe

    Il est écrit que dans SPIP deux méthodes de classement viennent immédiatement à l’esprit :
     Classement par rubrique (et éventuellement sous-rubriques) ;
     Classement par mot-clé.

    Quelqu’un a t il déjà utilisé un classement par mot clé ?
    J’ai essayé quelques modifications sans succès.

    • philippe

      Un mot clé agenda à affecter aux articles concernés.

      Petites modifs dans agenda.html.
      vers la ligne 18

      vers la ligne 35

      Et enlever la partie des sous rubriques

      Et cela semble ok

    • Pour ceux que cela intéresse tout est ok, à voir dans l’agenda.

      Il faut donc appliquer le principe des dates et le mot agenda aux articles que l’on souhaite avoir dans l’agenda.
      Pour le skel vous faîtes comme d’hab.

    Répondre à ce message

  • Merci bocoup pour cet agenda, il tourne bien... :-)
    J’ai juste un petit probleme je n’arrive pas a changer ses couleurs dans la feuille de styles, meme en les modifiant et sauvegardant l’agenda garde toujours la meme apparence... J’en utilise une deuxieme pour mon site, mais je ne pense pas que cela pose de probleme...

    Si vous pouviez m’aider je vous en serai reconnaissant ;-) Merci

    Répondre à ce message

  • Bonjour,
    pour l’agenda, je me demande si l’on ne pourrais pas utiliser le champ #DATE_REDAC à la place de #CHAPO (cf commentaire de M LO) pour les événements qui durent plusieurs jours, voire semaine..

    je voudrais faciliter la vie des rédacteurs. si j’ai bien compris pour utiliser #CHAPO il faut d’abord compter les jours couverts par l’évènement.

    j’ai essayé de transformer le code :

    <?php
     $date = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3", '#DATE_REDAC');
     $az=substr($date,0,4);
     $mz=substr($date,4,2);
     $jz=substr($date,6,2);
    
     if ($date > date("Ymd", mktime(0,0,0,$M, $D - 31, $Y)) && $date < date("Ymd", mktime(0,0,0,$M, $D + 31,$Y)))    {
         if (!isset($events[$date])) {
            $events[$date] = array();
         }
         $events[$date][] = array('link' => '#URL_ARTICLE', 'title' => '[(#TITRE|texte_script)]');
         $chapo=intval('#CHAPO');
        while ($chapo>1) {
           $chapo=$chapo-1;
           $datezzz=date("Ymd",mktime(0,0,0,$mz,$jz+$chapo,$az));
           $events[$datezzz][] = array('link' => '#URL_ARTICLE', 'title' => '[(#TITRE|texte_script)]');
        }
     }
    ?>

    par :

    <?php
     $date = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3", '#DATE_REDAC');
     $az=substr($date,0,4);
     $mz=substr($date,4,2);
     $jz=substr($date,6,2);
    
     $date2 = ereg_replace("^([0-9]{4})-([0-9]{2})-([0-9]{2}).*$", "\\1\\2\\3", '#DATE');
     $az=substr($date,0,4);
     $mz=substr($date,4,2);
     $jz=substr($date,6,2);
    
    
     if ($date > date("Ymd", mktime(0,0,0,$M, $D - 31, $Y)) && $date < date("Ymd", mktime(0,0,0,$M, $D + 31,$Y)))    {
         if (!isset($events[$date])) {
            $events[$date] = array();
         }
         $events[$date][] = array('link' => '#URL_ARTICLE', 'title' => '[(#TITRE|texte_script)]');
         $date2=('#DATE');
        while ($date2>1) {
           $datezzz=$date2("Ymd",mktime(0,0,0,$mz,$jz+$date,$az));
           $events[$datezzz][] = array('link' => '#URL_ARTICLE', 'title' => '[(#TITRE|texte_script)]');
        }
     }
    ?>

    comme je ne suis pas au top avec ces codes, je me retrouve avec une erreur :

    Call to undefined function : 2003-06-16 00:00:00()

    à la ligne 38 qui est (évidemment) :
    $datezzz=$date2(« Ymd »,mktime(0,0,0,$mz,$jz+$date,$az)) ;

    si un contrib peut m’aider sans avoir à se casser la tête, çà me dépannerait.
    Merci
    DD

    PS j’ai cru comprendre que les prochaines versions de SPIP amélioreraient la gestion d’agenda, en attendant, vive le bricolage !

    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