Carnet Wiki

FiltreAgendaMemo2

Version 1 — Septembre 2005 — Dan Hetzel — Version initiale

[Erreur...2][Erreur...3][Erreur...4]

Tutorial

[Erreur...6][Erreur...7]- 2. une boucle sur ces évènements.

[Erreur...9][Erreur...10]
....


...

[Erreur...13]Nous allons alors ranger ces évènements dans un calendrier, ce qui sera fait par le filtre agenda_memo2. A noter que ce filtre, dans la boucle, n’écrira rien à l’écran : il se borne à ranger les évènements dans un tableau interne a SPIP.

On applique le filtre agenda_memo2 sur une balise de type DATE qui indique la date de début avec 5 arguments suplémentaires :

  1. une DATE de fin
  2. un descriptif (qui s’affichera lorsque la souris passera sur l’événement du calendrier),
  3. un titre (qui sera le texte de l’événement dans le calendrier),
  4. une URL (celle sur laquelle sera envoyé l’utilisateur quand il cliquera sur le titre dans le calendrier),
  5. un nom de CSS.

Le nom de CSS permet de fixer l’aspect du calendrier, et aussi d’avoir plusieurs calendriers par page : chaque nom de CSS collecte les évènements dans un tableau (donc un calendrier) à part, que l’on peut rappeler ensuite. La feuille calendrier.css fournit 28 styles différents de calendriers, qu’il est loisible de modifier ou d’étendre.

Dans notre exemple cela donne, pour un jour :

[Erreur...19][Erreur...20]Une fois la boucle terminée, rien n’est à l’écran, mais le calendrier est prêt.

-  3. On peut maintenant afficher le calendrier à l’écran, ce qui se fait en appelant le filtre agenda_affiche2.
Cet appel permet de restituer les évènements entrés à l’étape 2, lors de l’appel dans la boucle. On appelle agenda_affiche2 en lui donnant

  1. un nombre supposé être le nombre d’événements trouvés par le critère agenda ;
  2. un texte brut (qui s’affiche s’il n’y a rien dans le calendrier)
  3. un type de calendrier à dessiner (jour, mois ou semaine). Des types de calendrier peuvent être ajoutés par les programmeurs php.
  4. des noms de CSS déja passés à agenda_memo2 à l’étape précédente,

dans notre exemple cela donnera :

[(#TOTAL_BOUCLE| agenda_affiche2{'rien a dessiner', 'calendrier-couleur2', 'jour'})]

C’est cette instruction-là qui donnera à l’écran le calendrier souhaité.

[Erreur...26]

Retour à la version courante

Toutes les versions