Carnet Wiki

CalendrierEspacePublic

Déesse A. a ajouté un filtre pour afficher sur l’espace public le calendrier d’événements SPIP disponible dans l’espace privé.

C’est documenté là maintenant : Le calendrier de SPIP 1.8.2


1. j’ai rien compris à la doc spip

moi non plus :D

en résumé, c’est comme ça :
il y a un critère agenda pour séléctionner des éléments selon leur date de façon un peu smart.
On peut l’utiliser :
{agenda date, type, YYYY, MM, JJ}

  • date est un "champ" de date dans le type de boucle (par exemple date, date_modif ou date_redac pour les articles)
  • type est un type d’affichage :
    • jour pour afficher les articles du jour
    • semaine pour afficher les articles de la semaine
    • mois pour afficher les articles du mois
  • YYYY, MM et JJ sont l’année, le mois et le jour définissant la période d’interet

Et on peut aussi l’utiliser :
{agenda date, periode, YYYY, MM, JJ, YYYY2, MM2, JJ2}

  • date c’est la même histoire,
  • periode est un type de selection spécial qui permet d’afficher une période arbitraire
  • YYYY, MM et JJ sont l’année, le mois et le jour définissant le début de la période d’interet
  • YYYY2, MM2 et JJ2 sont l’année, le mois et le jour définissant la fun de la période d’interet

YYYY, MM et JJ et YYYY2, MM2 et JJ2 peuvent soit être écrit en dur dans le squelette, soit utiliser une balise (en particulier #ENV), soit être omis, alors c’est la date du jour qui est pris. Sauf pour la période où c’est toute la vie du site qui sera affichée)

Mais avec cette boucle il y a un probléme, si on ne publi pas un article par jour, on n’a aucun moyen d’afficher les jours où il n’y a pas de publication. Je ne sais pas si c’est clair. Mais la boucle tourne sur des articles et pas sur des jours, elle a pas vraiment de notion du temps, elle va donc passer d’un article à l’autre en sautant les jours où il n’y a pas d’article publié.

C’est là que les filtres agenda_memo et agenda_affiche sont utiles. Au lieu de faire l’affichage dans la boucle et ratter des jours, on utilise agenda_memo pour se rappeler des éléments qu’on voudra afficher. Ensuite, après la boucle, on va utiliser agenda_affiche. Ce filtre construit un calendrier et y insére les éléments qu’on a mémorisés avec l’autre filtre. Ainsi on a un calendrier complet.
Pour les paramètres à ces filtres, je n’ai pas encore détaillé, il faut voir ddans les squelettes d’exemple pour voir ce qui est passé.

2. visiblement agenda.php s’applique pour les articles et l’incnonvénient de tout ça c’est que tu ne peux pas choisr une date de début et de fin pour les articles (à ma connaissance) ... donc impossible de fair eun agenda évolué.

voir FiltreAgendaMemo2

3 y a bien un truc : agenda privé pour les redac et les admins avec insertion de date de début et de fin ...

sinon, les événements dans l’espace privé ont une table dans la base de données mais pas de boucle correspondante. Mais à partir de la version 1.8.2, tu peux définir tes propres boucles. Ainsi tu pourrais essayer de faire cela.

ça doit être possible de les rendre publiques ces informations ... autrement je ne vois pas trop comment faire. et d’ailleurs je ne toruve pas de squelette sur le net utilisant cette possibilité !

Tu auras compris que c’est encore une fonctionalité "jeune" qui est apparu que très dernièrement et pour laquelle personne n’a encore vraiment fait de choses profondes (à part Déesse A. et ses squelettes qui sont dans dist)
Tu pourras donc, avec tout ça être le premier à proposer une contribution là dessus :D

- Mise à jour :15 septembre 2016 à 19h31min