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

  • 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