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...
Discussions par date d’activité
33 discussions
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
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 !!
Non, c’est normal. J’agenda se charge quand la page et chargée.
Pour l’instant, on ne peut rien changer à cela.
Ok, merci pour la réponse.
Répondre à ce message
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
C’est du tout bon, bravo Seb !
Merci l’ami :)
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 :
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.
Suivre les commentaires : |