Agendax : simple calendrier ajax

Un petit calendrier « à la dotclear », généré sur base des articles, brèves ou autre via une boucle unique. Il est généré et géré via de l’ajax avec jquery

Introduction

Agendax est un calendrier Ajax. Ajax est une technologie javascript qui permet de charger le contenu d’une partie de page web sans pour autant avoir à recharger la page entière. On charge ainsi uniquement les éléments dont on a besoin. D’où une gain de temps, entre autre.

Dans notre cas, ce sont les données du mois demandé qui se chargeront quand le visiteur clique sur « mois suivant », « mois précédant ».

Pré requis

Pour utiliser Agendax vous avez besoin de la balise #INSERT_HEAD dans le <head> des squelettes.

Installation

Téléchargez le plugin sur la zone et mettez le dossier « agendax » dans le dossier plugins de votre SPIP. Ensuite activez le plugin dans l’espace privée. Et enfin, insérez le code suivant à l’emplacement ou le calendrier doit se mettre :

<div id="agendax"></div>

Paramétrage

La configuration est à faire dans les 3 fichiers principaux :
agendax.css, agendax.js.html et donnees_agendax.html :

-  agendax.css : C’est lui qui rassemble les styles qui vont permettre d’affiner l’apparence du calendrier sur votre site.

-  agendax.js.html : Au début de ce fichier se trouvent plusieurs variables :

  • style_rempli : le style css à utiliser quand le jour à un évènement,
  • style_pas_rempli : le style css à utiliser quand le jour n’a pas d’évènements,
  • fleche_suivant : l’image ou le caractère qui va être affiché pour aller au mois suivant,
  • fleche_precedent : l’image ou le caractère qui va être affiché pour aller au mois précédent,
  • sablier : balise image animée (ou pas) ou le caractère qui va remplacer le nom du mois pendant le chargement de l’ajax.

-  donnees_agendax.html : C’est dans ce fichier que va être faite la boucle. Vous pouvez le modifier comme vous voulez, en ajouter d’autres, etc...

Téléchargement

Agendax 0.1-2

Discussion

33 discussions

  • lien mort

    SVP retirer le lien mort > On peut le voir ici : demo en ligne

    ... site en vente

    Répondre à ce message

  • Bonjour,

    Je viens d’installer le plugin agendax (mise sur le serveur, activation dans l’espace privé, activation des insert_head grâce à couteau suisse, ajout d’un div id=agendax)
    Malheureusement, rien ne s’affiche... ni agenda, ni erreurs, ...

    Quelqu’un aurait-il une solution ?

    Répondre à ce message

  • Webmustard

    Bonjour,

    J’ai un petit problème :
    Jusqu’à présent l’agenda marchait parfaitement dans mes pages mais depuis que j’y ai intégrer un menu accordéon en JQuery (http://www.alsacreations.com/tuto/lire/602-Creer-un-menu-accordeon-avec-jQuery.html) mon agenda ne se charge plus...

    Je suppose qu’il doit y avoir un conflit de jQuery...

    Peut on faire cohabiter l’agendax avec un autre module en jquery ?
    D’où peut venir mon problème ?

    Merci

    Répondre à ce message

  • Est ce que quelqu’un connait un moyen d’afficher deux calendriers d’évènement de type différents ?
    Cela me serait fort utile...

    Répondre à ce message

  • 2

    Bonsoir,

    Quelqu’un a-t-il déjà été confronté à des problèmes d’affichage des chaines dans agendax.

    Sur un site mutilingue avec passage de la langue dans le contexte
    -  l’affichage sur Firefox 3 et Safari n’affiche apparemment que la langue choisie dans l’interface d’adminisration
    -  sur IE 6/7 Chrome, Opera et Floc c’est la langue principale du site qui est retenue.
    -  $forcer_lang = true ;

    Le changement de langue fonctionne bien sur le reste du site. Le site est organisé en une langue par rubrique. Passage de la langue dans le contexte.
    -  Cookie spip_lang -> langue de l’interface d’admin
    -  spip_lang_ecrire -> langue de l’interface d’admin

    Ma question : comment faire prendre en compte #ENVlang par agendax ?
    question subsidiaire : comment prendre la langue en compte dans l’affichage des articles du calendrier.

    Sinon le plugin fonctionne bien. Merci d’avance

    • Pour faire prendre en compte l’environnement langue, j’ai rajouté

       <?php  
      include_spip('inc/cookie');
      setcookie('spip_lang',#LANG);  
       ?>

      dans le menulang.

      Un avis ?

    • Salut,

      Est-ce que quelqu’un a trouvé comment passer la variable « ENVlang » à agendax ?
      Pour, au minimum, pouvoir traduire les intitulés des « jours/mois » du calendrier ?

      Merci

    Répondre à ce message

  • je l’ai installé de pair avec le plugin agenda qui est super pour entrer des événements complexes. Un code est fourni dans la page suivante des commentaires pour adapter donnees_agendax.html afin que le calendrier affiche les événements renseignés par le plugin agenda. Il faut bien évidemment le modifier encore légèrement, mais l’association des deux est super ! Et le tout sur un site en spip 2.0.9 avec la dernière version d’agenda... et la dernière d’agendax (qui date du 1.9.2 pourtant !)

    Répondre à ce message

  • Christophe Sevin

    Bonjour,

    Je suis débutant en SPIP et j’aimerais intégrer à mon site le plugin Agendax. Je travaille en local pour l’instant car ce n’est pas mon site que je fait ma le site d’une entreprise. Je ne peux donc pas le mettre en ligne. Cependant, sur ma machine en local, j’ai installer et activer le plugin Agendax, puis dans mon squelette, j’ai ajouté une div di=« agendax ». Lorsque je charge ma page, pas d’erreur mais pas d’agendax non plus. Pour info je suis sous SPIP 2.0.8, donc il me semble que je n’ai pas de jQuery à installer vu qu’il est en natif.
    Quelqu’un a-t’il une idée de la cause ?

    Merci d’avance, cette contrib est super.

    EDIT : Désolé, juste un problème de cache. J’ai reussi à mettre Agendax et mon menu accordéon en incluant un deuxieme jQuery lite (1.3.2.min) pour faire marcher mon menu.

    Répondre à ce message

  • Risotto

    Bonjour, le lien démo en ligne est mort

    Répondre à ce message

  • Bonjour,

    J’aimerais savoir comment faire pour afficher un mois particulier de l’agenda, étant au mois de mai, je voudrais afficher le mois de mars en premier plutot que le mois en cours que dois-je modifier pour que cela soit possible ? Je suppose que c’est sur le fichier aganda.js.html que les changements doivent être effectuer mais je ne trouve pas lesquels.

    Merci d’avance

    Répondre à ce message

  • pracede2005

    Bonjour à tous,

    J’ai réussi à rajouté ce calendrier sur mon site. Mais je n’ai pas d’événements qui s’affichent. J’ai cru comprendre que les événements affichés doivent venir d’une rubrique. J’ai crée un rubrique pour cela mais comment créer des événements ?
    Merci

    Répondre à ce message

  • ce plugin fonctionne sur spip 2.0 !

    Répondre à ce message

  • 3

    bonjour à tous,

    super plugin, cependant comment faire pour mettre en évidence la date d’aujourd’hui,
    merci d’avance pour vos réponses

    • J’ai eu le même souci. Voici la solution que j’ai trouvée :

      Modification du agendax.js.html où dans la boucle for (k=1 ; k<=31 ; k++) de parcourt pour savoir si un jour est rempli, j’ai ajouté un test sur le jour du mois et sur le mois.
      Ensuite de la même façon que style_rempli est appelé, on appelle soit un style existant dans le css ou un style propre definit dans ce fichier.

    • En fait je n’ai peut être pas été très clair. Voici le bout de code du fichier agendax.js.html

      jour_aujourdhui = date_du_jour.getDate() ;

      mois_aujourdhui = date_du_jour.getMonth()+1 ;

      /* On recherche les jours avec des évènements et on met à jour les cases correspondantes */

      for (k=1 ; k<=31 ; k++)

      if ($("#contenu"+k,event).length > 0)
      ........

      $(« #jour »+k).remove(« a ») ;

      if((k==jour_aujourdhui) && mois==mois_aujourdhui))
      $(« #jour »+k).addClass(style_aujourdhui) ;

      Au début on voit l’initialisation des variables ; et en fin : le test.

      Au début du fichier j’ai bien sur une ligne (pour faire comme le code d’origine)

      style_aujourdhui = ’case_aujourdhui’ ;

      et dans le agendax.css j’ai ajouté :
      DIV.case_aujourdhui
      font-weight : bold ;

      C’est pas extraordinaire, mais cela fait apparaître la date du jour en gras.

    • Bonjour, cette modif m’intéresse mais je n’y arrive pas.
      serait il possible de donnée le code complet modifié .
      Merci

    Répondre à ce message

  • la démo fonctionne plus....autre demo ou l’on peut voir la bête en action ?

    Répondre à ce message

  • 1

    Affichage des évènements de l’agenda SPIP boucle (EVENEMENTS), le lien se fait sur timeline, le plugin mais peut aussi rammener ailleurs !

    #HTTP_HEADER{Content-Type: text/html}
    <div class="calendrier">
    	<div class="chemin_script">[(#CHEMIN{'charger_agendax.js'})]</div>
    	<div class="nom_mois">[(#ENV{date}|nom_mois)]&nbsp;[(#ENV{date}|annee)]</div>
    	<div class="nom_moisplus">[(#ENV{date}|Agenda_moisdecal{1,'Y-m'}|nom_mois)]</div>
    	<div class="nom_moismoins">[(#ENV{date}|Agenda_moisdecal{-1,'Y-m'}|nom_mois)]</div>
    	<div class="jours_debut">
    	<?php
    		$nom_debut = '[(#DATE|affdate{'l'})]';
    		switch ($nom_debut) {
    			case 'Monday' : $jour_debut = 0;
    			break;
    			case 'Tuesday' : $jour_debut = 1;
    			break;
    			case 'Wednesday' : $jour_debut = 2;
    			break;
    			case 'Thursday' : $jour_debut = 3;
    			break;
    			case 'Friday' : $jour_debut = 4;
    			break;
    			case 'Saturday' : $jour_debut = 5;
    			break;
    			case 'Sunday' : $jour_debut = 6;
    			break;
    		}
    		echo $jour_debut;
    	?>
    	</div>
    	<div class="nombre_jours">[(#DATE|affdate{'t'})]</div>
    	<BOUCLE_LesZevenements(EVENEMENTS){agendafull date_debut,date_fin, mois, (#ENV{date}|annee), (#ENV{date}|mois)} {statut=publie}>
    	<div id="contenu[(#DATE_DEBUT|affdate{'j'})]">
    		[<div id="jour[(#DATE_DEBUT|affdate{'j'})]">(#DATE_DEBUT|affdate{'d'})</div>]
    		[<div id="info[(#DATE_DEBUT|affdate{'j'})]">#LIEU (#TITRE)</div>]
    		<div id="lien[(#DATE_DEBUT|affdate{'j'})]">[(#URL_PAGE{timeline}|parametre_url{date,[(#DATE_DEBUT|affdate{'Y-m-d'})]}|parametre_url{id_rubrique,#ID_RUBRIQUE})]</div>
    	</div>
    	</BOUCLE_LesZevenements>
    </div>
    • Il est plus rapide et SPIpien d’utiliser plutôt [(#DATE|affdate{'w'})] que toutes ces lignes en php !

    Répondre à ce message

  • Richard

    Bonjour,

    Génial ce pugin, et il s’interface très bien avec le plugin Magusine que j’utilise pour mon site (via l’utilisation d’un bloc libre) :-)

    Par contre une petite question d’un débutant tant en « site Spip » qu’en JavaScript : est-il possible de faire démarrer l’agenda non du 1er du mois courant mais du 1er du mois d’un article ?

    En clair : lorsque j’affiche un évènement se passant en juin, j’aimerais pouvoir afficher le calendrier du mois de juin - histoire de n’avoir pas à naviguer dans les mois pour afficher les autres évènements du mois.

    Autant j’ai réussi sans trop de mal à faire en sorte d’afficher directement les articles et à limiter les dates marquées dans le calendrier à celles d’une seule rubrique (grâce notamment aux divers commentaires laissés ici-même) autant là je sèche.

    Je soupçonne que cela se passe dans le fichier « agendax.js.html », mais je n’arrive pas à trouver par quoi remplacer les getFullYear() et getMonth() par l’année et le mois de l’article (un setFullYear et un setMonth sans doute, mais avec quoi en paramètre ?) :-(

    Répondre à ce message

  • Bonjour
    Merci pour votre travail, je commence avec spip 192c et c’est génial.Je suis en local encore quelques jours avant de trouver un herbergeur (pour une association...)
    Je cherche à intégrer un agenda et ses évenements qui pourrait s’ouvrir avec mes différentes rubriques du site public.(Ma présidente le souhaite ainsi).
    Est ce possible de le faire avec Agendax ?, et y a t’il une marche à suivre., je ne suis pas programmeur au fait !!
    J’ai besoin de votre aide pour continuer, merci par avance
    Ol

    Répondre à ce message

  • Tres bon plug in mais qui serait plus adapté a mon usage si je pouvais renvoyer chaque dates à l’article qui le concerne et non repasser par cette page générée avec le résumé de l’article.

    Est il possible de m’aider a comprendre ce que je dois modifier a cet éffet et comment le faire ? Car sur mon site c’est pas tres top classe cette page temporaire... http://be.retarded.free.fr/spip/

    Merci d’avance

    Répondre à ce message

  • Stéphane Santon

    Bonjour,

    Très bien ce plugin par http_request.

    (Je me demande pourquoi certains demandent encore de recharger la page complète pour changer de mois dans un calendrier mini).

    Cependant, dès qu’on modifie les css, par exemple

    DIV.boite_dans_mois{
    	border: 1px solid #ccc;
    }

    ça foire beaucoup la mise en page, le dernier jour passe à la ligne suivante, tout est décalé.

    Pourquoi avoir choisi des div.float alors que c’est typiquement un tableau ?

    Répondre à ce message

  • 1

    Bonjour,

    dans la page de démo, je ne vois pas d’agenda
    il n’y a que des Lorem ipsum ...

    • Bonjour,

      Moi non plus je n’ai rien trouvé sur la page de démo, serait-il possible de corriger ça ?

      Merci beaucoup.

    Répondre à ce message

  • Bravo pour ce plugin simple et pratique. Mais est-il possible de le compléter pour que le calendrier affiche aussi la date du jour (c’est bien aussi d’avoir la date du jour). ;-)
    Merci

    Répondre à ce message

  • Tout d’abord félicitation à l’auteur pour ce plugin qui est simple et concis.
    Cependant juste un point ne me semble pas fonctionnel :
    Je me sers de la page agendax_view pour prévisualiser tous les évènements d’une date sélectionnée. Celle-ci est donc accompagnée, en div droite, du calendrier dans lequel on navigue de mois en mois.
    Quand on sélectionne une date, la liste des évènements correspondants apparaît bien mais le calendrier se recharge par rapport au mois de la date du jour (comme quand on charge la page pour la première fois) au lieu de rester sur le mois en cours sélectionné.
    Pas assez féru en js, ne serait-il pas possible de conserver les paramètres annee et mois passés à la fonction remplire_agenda() ?
    A moins que cela ne se situe ailleurs ?

    Répondre à ce message

  • bonjour,

    tout d’abord bravo pour ce beau plug-in.

    un petit souci. J’aimerais faire apparaitre dans l’agenda les articles ET les brèves associés à un mot clé.

    J’ai tenté de mettre une deuxième boucles pour sélectionner également les brèves mais ça ne marche pas.

    est possible ou est ce moi qui fait une fausse manoeuvre ?

    (j’ai reposté le message à cause du titre qui était incomplet...)

    Répondre à ce message

  • bonjour,

    tout d’abord bravo pour ce beau plug-in.

    un petit souci. J’aimerais faire apparaitre dans l’agenda les articles ET les brèves associés à un mot clé.

    J’ai tenté de mettre une deuxième boucles pour sélectionner également les brèves mais ça ne marche pas.

    est possible ou est ce moi qui fait une fausse manoeuvre ?

    Répondre à ce message

  • Après avoir essayé toutes les solutions proposées sur les commentaires pour n’afficher dans l’agenda que les événements signalés par le mot-clé Agenda, je suis obligée de déduire que les modifs proposées pour Agendax (qui affiche pourtant les articles par leur date de parution) ne vont pas avec spip 1.9.3.

    Dommage, il est bien ce pluging !

    Répondre à ce message

  • 14

    Bonjour, j’ai installé Agendax pour voir un peu. Le plugin est bien activé.
    J’ai choisi la page où l’agenda devrait apparaitre avec un mot-clé « agenda », et modifié le squelette de article.html en conséquence comme indiqué.
    Cependant, l’article qui devrait faire apparaitre l’agenda me donne une erreur :
    Erreur : $ is not defined
    Fichier source : http://ha32.org/spip/Test?page=agendax.js
    Ligne : 103

    Que faire ?

    • Seb D. (crowf00t)

      Tu est en spip 1.9.1 qui n’as pas jquery. Il faut alors que tu rajoute jquery à la main dans les head de tes pages.

      Un truc du genre :

      <script src="squelettes/javascript/jquery.pack.js" type="text/javascript"></script>

      Tu peut aller chercher jquery ici : http://jqueryjs.googlecode.com/files/jquery-1.1.3.1.pack.js
      Et tu le met dans un dossier javascript dans ton dossier squelette par exemple.

    • Merci pour ta réactivité.
      J’ai installé. Maintenant ma page devant faire apparaitre l’agenda commence ainsi :

      <head>
      <script src="squelettes/javascript/jquery.pack.js" type="text/javascript"></script>
      <link rel="stylesheet" href="plugins/agendax/agendax.css" type="text/css" />
      <script src="?page=agendax.js" type="text/javascript"></script>
      <meta http-equiv="Content-Type" content="text/html; charset=iso8859-15">
      etc...

      J’ai toujours la même erreur.

    • Bon, j’ai carrément installé le plugin jquery. Alors c’est mieux : plus d’erreur.
      Sur la page prévue pour l’agenda je vois apparaitre :

      < >
      Lu
      Ma
      Me
      Je
      Ve
      Sa
      Di

      C’est sympa en effet mais je n’ai pas les dates des jours et pas d’événement...

    • Seb D. (crowf00t)

      Houla ... dans ta page sommaire je vois déjà deux jquery. C’est pas bon. En plus le plug jquery est en 1.0.4 : C’est du périmé.

      Donc, je te propose déjà de désactiver le plug jquery et de mettre ton INSERT_HEAD et le lien vers jquery à la fin du head.

      Ca devrait être mieux.

    • En effet, tu avais bien raison :
      http://ha32.org/spip/L-agenda-du-Centre
      Merci donc. Je vais réfléchir aux moyens d’avoir une présentation un peu plus sympa...

      Là-dessus quand je clique sur le jour où il y a un événement (actuellement le 22 septembre) je tombe sur une page que je ne sais pas tellement bien utiliser !

    • lexyacc

      As-tu fais quelque chose pour que l’Agenda prenne en compte l’événement au 22 septembre ? La date de publication de l’article est-il créé au 22/09 ?

      Moi je n’arrive pas à voir mes événements de septembre et je n’ai vu mes événement d’août qu’à partir du moment où ils étaient antérieurs à la date courante.

    • lexyacc

      C’est possible de voir les modif que tu as apporté au fichier « agendax.js.html » ?

      Merci d’avance

    • Ça c’est pas trop dur : l’article a une date de publi antérieure (hier, c’est #DATE_REDAC) et une date de publi, #DATE, au 22 septembre. Cet article a un mot-clé « agenda ». La boucle qui appelle l’agenda est :

      <BOUCLE_agenda(ARTICLES){id_article}{id_mot=181}> <!-- mot-clé "agenda" -->
      <div id="agendax"></div><br />
      </BOUCLE_agenda>
    • Absolument aucune !

    • Seb D. (crowf00t)

      tu dois changer les critères de boucle dans le fichier donnees_agendax.html dans le dossier du plugin.
      Là tu dois mettre :

      <BOUCLE_LesZevenements(ARTICLES){agenda date, mois, (#DATE|annee), (#DATE|mois)}{","}{par date}{id_mot=181}>

      à la ligne 28 du fichier original
      Et tu ne dois rien mettre autour du div

    • Seb D. (crowf00t)

      tu dois changer les critères de boucle dans le fichier donnees_agendax.html dans le dossier du plugin.
      Là tu dois mettre :

      <BOUCLE_LesZevenements(ARTICLES){agenda date, mois, (#DATE|annee), (#DATE|mois)}{par date}{id_mot=181}>

      à la ligne 28 du fichier original
      Et tu ne dois rien mettre autour du div

    • Bonjour !
      J’arrive maintenant à une présentation acceptable (quoique, les touches de navigation... on verra + tard).
      Cependant, la mise à jour me fait un truc louche : mon événement du 22 septembre s’affiche maintenant au 22 août !! j’y comprends rien... et du coup quand je clique sur le 22 (août) la page agenda_view qui vient est vide.
      Mon essai d’agenda

    • Bonsoir
      C’est énervant de ne pas comprendre !
      Que signifie : « tu ne dois rien mettre autour du div » ?
      Faut-il supprimer les lignes 29 à 32 ?

    • « Ça c’est pas trop dur : l’article a une date de publi antérieure (hier, c’est #DATE_REDAC) et une date de publi, #DATE, au 22 septembre. Cet article a un mot-clé « agenda ». La boucle qui appelle l’agenda est : <BOUCLE_agenda(ARTICLES) » etc...

      Dans quel fichier et à quel endroit faut placer cette formule de bobca ?

    Répondre à ce message

  • 17
    ravivol

    Je débute un peu, je ne suis même pas sûr de poster au bon endroit pour ma question.
    Je suppose qu’il faut indiquer à l’agenda de quelle rubrique il va dépendre, et à ce que j’ai compris la boucle se trouve dans dadonnees_agendax.html. Mais ou exactement ? Quand je vous disais que je débutais...

    • Salut à toi,

      La boucle s’appelle « LesZevenements » et elle commence à la ligne 28 et se termine à la ligne 34. Tu peu voir le fichier ici
      Il suffit de rajouter {id_rubrique = 53} pour qu’elle récupère les données de la rubrique 53
      Ou d’ajouter {id_mot = 66} pour qu’elle récupère tous les articles qui ont le mot clé n°66
      Ou les deux à la fois.
      Ca peut donner quelque chose du genre :

      <BOUCLE_LesZevenements(ARTICLES){id_rubrique = 79}{id_mot=77}{agenda date, mois, (#DATE|annee), (#DATE|mois)}{","}{par date}>
    • ravivol

      ça marche nikel, merci beaucoup

    • lexyacc

      Bonjour,

      Voilà un plugin très attendu !
      Toutefois, est-il possible de lui faire prendre en compte la date antérieure de SPIP ?

      Merci d’avance pour la réponse

    • Seb D. (crowf00t)

      Qu’appel tu la date antérieure ?

    • souvent on met en place pour les articles un duo de dates : la date de publication et la date de publication antérieure. Cette dernière est en fait la date d’apparition de l’article tandis que la « date de publication » est la date de l’événement auquel l’article se réfère. C’est très pratique pour annoncer des événements futurs.

    • lexyacc

      L’explication de bobca est limpide.

      En fait, sur le site de l’association dont je m’occupe, je veux utiliser l’agenda pour annoncer les dates des prochaines réunions. J’ai créé une rubrique « Agenda » (pour trier les articles comme il est indiqué) mais je veux par exemple annoncer dans l’agenda les dates des réunions pour 12 et 18 septembre. Sachant que nous sommes au mois d’août, je n’ai rien qui s’affiche dans le mois de septembre. Comment faire ?

      Autre questions au passage, lorsqu’on clic sur un événement, la page qui s’affiche n’est pas très lissible, il y en a dans tous les sens. C’est également le cas dans la page d’exemple mentionné dans cette contrib. Etant débutant en SPIP, je ne vois pas très bien comment intégrer correctement la page dans l’environnement du site. Une suggestion ?

      Bonne journée

    • Tu peux annoncer de futurs évennements et tu peux aussi personnaliser la page d’arrivé. Preuve en est :http://www.lesmusesdutroquet.fr/
      Le site est en construction et les évennements bidons mais ça fonctionne déjà.
      Je débute également.

    • Ton squelette est très proche de ce que je cherche à faire, peux-tu me le laisser voir ?
      Merci d’avance !

    • lexyacc

      Ton site est bien la preuve que tout ça peut fonctionner.

      Ce que je me demande c’est bien comment faire pour obtenir ce résultat.
      Le fichier « agendax.js.html » contient la boucle suivante :

      /* On recherche les jours avec des évènements et on met à jour les cases correspondantes */
      for (k=1 ; k<=31 ; k++)
      if ($("#contenu"+k,event).length > 0)
      $("#jour"+k).addClass(style_rempli) ;
      $("#jour"+k).attr("alt",$("#info"+k,event).text()) ;
      $("#jour"+k+" a").attr("href",$("#lien"+k,event).text()) ;

      else
      $("#jour"+k).addClass(style_pas_rempli) ;
      $("#jour"+k).remove("a") ;

      Dans mon contexte, cette boucle ne donne pas de résultat (pas d’article trouvé) pour les événements positionnés par exemple au mois de septembre.

      Je pense que tu as modifié ce fichier de manière significative. Est-ce possible d’avoir une description de tes modifications ?

      Merci

    • J’ai fais deux modifs ultra simples

      1) je me suis débrouillé pour que l’id de l’article passe dans l’url. par défaut c’est la date et je ne savais pas comment l’exploiter. J’ai du changer la ligne 32 dans le fichier donnees_agendax.html , la boucle concernée est LesZevenements.

       ?page=agenda_jour&id_article=#ID_ARTICLE .

      Avec ce changement on obtient donc des url du type http://www.lesmusesdutroquet.fr/?page=agenda_jour&id_article=1

      2) Il faut ensuite créer dans son fichier squelette une page agenda_jour.html car en l’état, c’est la page par défaut du fichier dist qui est appelée. Dans cette page on veut récupérer l’id_article passée dans l’url.

      BOUCLE_jour(ARTICLES)id_article
      h1 #TITRE /h1
      p Le [(#DATE|affdate’d/m/Y’)]
      à partir de (#DATE(#DATE
      /p
      /BOUCLE_jour

      d’ailleur je suis sûr qu’il y a moyen d’écrire plus simplement l’heure et les minutes de l’evennement. C’est du fignolage mais je suis encore en phase d’apprentissage.

    • ravivol

      le copier coller des balises sur ce forum a altéré mon message, j’espère que ça reste claire. En tout cas je n’ai pas touché au js.

    • lexyacc

      OK merci de cette explication.

      Il y a tout de même une chose que je ne m’explique pas, c’est le fait que je vois les événements qui ont une date de création au mois d’aout et pas ceux de septembre.

      Une idée ?

    • Si tu as une url, je vais pouvoir aller voir ce qui se passe ...

    • lexyacc

      Jusque là j’étais en local.

      J’ai donc mis à jour mon site et là je ne vois plus aucun articles dans le calendrier !!

      url = http://fcpedescartesantony.free.fr/

      La rubrique 8 est une rubrique agenda.

      Merci de ton aide

    • Bon plusieurs choses :

      1. Tu n’as pas la dernière version d’agendax
      2. Il y as une requête ajax qui ne se fait pas :
        <script src="http://fcpedescartesantony.free.fr/themes/alternatives/js/base.js"  type="text/javascript"></script>

        Peut-être que c’est celle de ton squelette qui la courcircuite. Enlève la ligne

        <script src="http://fcpedescartesantony.free.fr/themes/alternatives/js/base.js"  type="text/javascript"></script>

        de ton header pour voir si c’est le cas.

        Voilà ce que je peux dire à première vue. Après il faudrait des codes ftp, une analyse plus profonde et tout et tout si les bugs persistent .

        Dis moi si ca fonctionne avec ca.

    • lexyacc

      La suppression de la ligne n’a pas d’effet notable (test en local où j’ai installé la version 0.1.2 d’agendax)

    • Ca peut donner quelque chose du genre :

      Bonjour,
      Je voudrais que n’apparaisse que les événements attachés au mot clé « Agenda ».
      J’ai inséré
      id_mot=Agenda après (ARTICLES)
      L’agenda est vide.
      J’ai introduit le chiffre correspondant au mot clé Agenda
      id_mot=5 après (ARTICLES)
      Même résultat.
      L’événement étant dans une brève, j’ai pensé qu’il fallait ajouter « Brèves » à « Articles » :
      ( ARTICLES)( BREVES) id_mot=5
      Là, les chiffres disparaissent de l’agenda !

      Comment faire pour qu’apparaisse (et que n’apparaisse) sur cet agenda que les articles (et brèves) désignés par le mot-clé Agenda ?

    Répondre à ce message

  • 1

    Merci pour la réponse à ma question précédente.
    Je n’ai pas pu mettre en oeuvre jQuery sur spip 1.9.1 (même problème que celui abordé ci-dessous, version trop ancienne de jQuery) mais cela fonctionne pour spip 1.9.3.

    Sauf que je ne vois pas l’intérêt de renvoyer à des dates de publication d’articles.

    Je voudrais seulement indiquer en une ou deux lignes maxi des événements futurs.
    J’ai suivi les conseils donnés ci-dessous (à l’envers) :

    2) Il faut ensuite créer dans son fichier squelette une page agenda_jour.html car en l’état, c’est la page par défaut du fichier dist qui est appelée. Dans cette page on veut récupérer l’id_article passée dans l’url.

    BOUCLE_jour(ARTICLES)id_article
    h1 #TITRE /h1
    p Le (#DATE
    à partir de (#DATE(#DATE
    /p
    /BOUCLE_jour

    puis j’ai supprimé #DATE|annee), (#DATE|mois)par date> et remplacé par ?page=agenda_jour&id_article=#ID_ARTICLE parce que cela correspond à la ligne 32 comme indiqué ci-dessous :

    1) je me suis débrouillé pour que l’id de l’article passe dans l’url. par défaut c’est la date et je ne savais pas comment l’exploiter. J’ai du changer la ligne 32 dans le fichier donnees_agendax.html , la boucle concernée est LesZevenements.

     ?page=agenda_jour&id_article=#ID_ARTICLE . Avec ce changement on obtient donc des url du type http://www.lesmusesdutroquet.fr/ ?page=agenda_jour&id_article=1

    Evidemment, cata. Plus de calendrier sinon la ligne lu ma mer jeu ven sam dim.

    Comme je ne suis absolument pas doué, ce serait sympa à ceux qui ont procédé aux modifs de copier l’intégralité des fichiers modifiés (et pas seulement la ligne que je risque de ne pas trouver, même avec le numéro !) et de m’indiquer comment procéder pour alimenter cet agenda (nouvel article ? rubrique agenda qui serait invisible sur page d’accueil).

    Merci à tous ceux et celles qui répondront à ces dernières questions.

    • Je complète ma question. Voici le fichier donnees_agendax.html

      Je serais infiniment reconnaissant si quelqu’un pouvait y introduire les modif de façon à pouvoir obtenir uniquement les dates des événements que l’on souhaite mettre en valeur en lieu et place des dates de publication des articles. (En outre, je viens d’essayer avec une brève daté du 20 septembre ... et cela n’établit pas de lien sur l’agenda. J’ai donné l’info en brève car je souhaite que les infos de l’agenda n’apparaissent pas sur la page d’accueil mais j’aimerais ne pas avoir à les publier obligatoirement en brève. Qu’ils puissent être invisibles si on ne clique pas sur l’agenda).

      A part ce petit problème, il est très très esthétique, cet agenda.

      #HTTP_HEADERContent-Type : text/html

      [(#CHEMIN’charger_agendax.js’)]
      (#ENVdate (#ENVdate
      <?php
              $nom_debut = '[(#DATE|affdate{'l'})]';
              switch ($nom_debut) {
                  case 'Monday' : $jour_debut = 0;
                  break;
                  case 'Tuesday' : $jour_debut = 1;
                  break;
                  case 'Wednesday' : $jour_debut = 2;
                  break;
                  case 'Thursday' : $jour_debut = 3;
                  break;
                  case 'Friday' : $jour_debut = 4;
                  break;
                  case 'Saturday' : $jour_debut = 5;
                  break;
                  case 'Sunday' : $jour_debut = 6;
                  break;
              }
              echo $jour_debut;
          ?>
      [(#DATE|affdate’t’)]
      (#DATE"> [
      (#DATE">(#DATE|affdate’d’)

      ]
      [

      (#DATE">(#TITRE)

      ]

      (#DATE"> ?page=agendax_view&date=#DATE

      p.s. bon, ça ne va pas, le fichier se convertit lors de la mise en ligne. Si quelqu’un veut me répondre à le.pic.vert at free.fr

    Répondre à ce message

  • 1

    Salut
    Je vais poser des questions qui vont vous faire hurler de rire :

    1) « Pour utiliser Agendax vous avez besoin de la balise #INSERT_HEAD dans le

    des squelettes. » Dans quel fichier faut-il insérer cette balise ? Et à quel niveau exactement (je travaille sur spip 1.9.3 et un autre site 1.9.1)

    2) « insérez le code suivant à l’emplacement ou le calendrier doit se mettre :
    < div id = "agendax">

     » Si on veut le placer sur la page d’accueil, on le place dans Sommaire, n’est-ce pas ?

    3) « http://jqueryjs.googlecode.com/files/jquery-1.1.3.1.pack.js Et tu le met dans un dossier javascript dans ton dossier squelette par exemple » Pour le site en 1.9.1, j’ai créé un répertoire "javascript" et inséré ce fichier. Est-ce cela qu’il fallait faire ?

    4) Enfin, est-il possible de voir un calendrier en grandeur nature correspondant au calendrier téléchargeable sur cette page ?

    Merci des vos réponses.

    • 1) tout dépend de ta logique de fonctionnement :
      -  si tu travaille à partir des squelettes de la dist tu n’as rien à changer , la balise est déjà présente dans le fichier inc-head.html
      -  si tu travailles à partir de squelette perso tu dois dois avoir la balise #INSERT_HEAD qui doit se trouver quelques part dans tes squelettes, entre les balise <head></head>

      2) tout se passe dans sommaire.html

      3) sous spip 1.9.2 et 1.9.3 pas de problème jquery est déjà installé donc pas de modif à faire ; pour spip 1.9.1 je pense qu’en installant le plugin jquery trouvable ici cela devrait résoudre ton problème

    Répondre à ce message

  • lexyacc

    Je viens de comprendre !

    Mes articles n’apparaissent pas dans l’agenda au delà de la date du jour !

    Après une longue recherche, je viens de me rendre compte que mon paramétrage de SPIP était positionné sur : «  Ne pas publier les articles avant la date de publication fixée.  »

    Il est donc indispensable de changer ce paramètre (icône Configuration de l’espace privé) pour que la référence à un article apparaisse dans l’agendax quelque soit sa date de publication.

    Un point de réglé !

    Il me reste maintenant à résoudre l’apparition du message :
    « Warning : Missing argument 1 for generer_url_public() in ....www\spip\ecrire\inc\utils.php on line 801 »

    Quelqu’un a-t-il une idée ?

    Répondre à ce message

  • 1

    A tous :
    J’ai mis à jour agendax.
    Celle-ci corrige un bug d’affichage : Aucun article le premier du mois. Vous pouvez maintenant créer des activités le 1er d’un mois.
    J’ai aussi mis un squelette de visualisation des résultats un peu plus clair que celui qu’ agenda_mois :)
    Tout se configure encore dans donnees_agendax.html

    Seb.

    • hypnose68

      Bonjour,

      merci pour ce plugin, il fonctionne parfaitement.

      Dans cette nouvelle version (avec le squelette de visualisation) je vais certainement l’intégrer dans un de mes sites.

      salutations

    Répondre à ce message

  • 3
    bananabomb

    Salut, et merci pour cette contrib bien sympa

    Cela étant, j’ai une question un peu bête : est-ce normal que l’agenda se charge à chaque changement de page ?

    Je suppose que non, donc est-ce que tu aurais une idée de où peut venir le problème ?

    Merci d’avance

    • bananabomb

      J’ai posté un chouille trop vite, du coup mon explication est pas très claire.

      J’ai un squelette principal en 3 colonnes : inc-menug, inc-menud + page centrale (sommaire, article, etc.)

      J’ai mis l’agendax dans mon menu de droite. Je l’ai donc dans chacune des pages de mon site. Seulement, a chaque changement de page, si je passe d’un article au sommaire par exemple, mon menu de droite est caché par SPIP, donc pas de souci, en revanche, l’AJAX se charge à chaque fois, ce qui est un peu dommage.

      Est-ce donc normal que l’agendax se charge à chaque fois, où y a-t-il une subtilité quelque part ?

      Merci !!

    • Seb D. (crowf00t)

      Non, c’est normal. J’agenda se charge quand la page et chargée.
      Pour l’instant, on ne peut rien changer à cela.

    • bananabomb

      Ok, merci pour la réponse.

    Répondre à ce message

  • 4

    Bravo ! Voilà un plugin qui sera fort utile.
    Les petits agendas de bord de page qui obligent à tout recharger, c’est quand même un peu dommage, surtout avec le principe de mise en cache de Spip.

    • Pour l’instant, j’ai un calendrier qui s’affiche sans aucun lien, pas d’événements visibles alors qu’ils sont bien dans la réponse à la requête Ajax. Il semble qu’il ne soit pas prévu pour l’instant qu’il y ait plusieurs articles/événements par jour ?!

    • Bon, sur certaines config, le nth-child posait problème. Je l’ai enlevé.
      Normalement si tu met à jour tout devrait être ok.

    • Merci, c’est parfait, ça marche !

    • Ah si, juste une chose : dans la réponse à la requête, ne faudrait-il pas des « class » à la place des « id », vu qu’ils peuvent être plusieurs de la même valeur ? ...Alors que les « class » sont uniques et pourraient être remplacés par des « id ». Bref, l’inverse. :)

    Répondre à ce message

  • 1

    C’est du tout bon, bravo Seb !

    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