Description
- Le calendrier permet la publication d’événements qui s’étendent sur plusieurs jours
- On utilise la date de publication en ligne comme date de départ et la date de publication antérieure comme date de fin.
- Les évènements disparaitront une fois leur date de fin dépassée.
- ATTENTION : L’utilisation de l’agenda nécessite l’activation de la publication des articles post-datés.
Exemples
Deux exemples en ligne de cet agenda :
Télécharger
Version actuelle : version 2.0, sept 2003 à télécharger ici.
Adresse de publication originale :
http://support.cassiopea.org/spip/spip-tech.shtml#agenda
Pour ceux qui veulent en savoir plus :
Règles d’écriture de l’agenda :
- La Date de publication en ligne = la date de DEBUT de l’événement (événement durant 1 ou plusieurs jours). Obligatoire.
- La Date de publication antérieure = la date de FIN de l’événement (événement durant 1 ou plusieurs jours). Obligatoire.
- Le Surtitre = le nom de l’organisateur.
- Le Sous-titre = le lieu de l’événement.
Démarche pour les dates de l’agenda :
- Ecrire l’événement normalement
- Fixer la date de fin (DATE DE PUBLICATION ANTÉRIEURE)
- Publier l’événement en ligne
- Fixer la date de début (DATE DE PUBLICATION EN LIGNE)
Note : Vous devez publier en ligne l’événement avant de pouvoir fixer sa date de publication en ligne (début), car cette dernière n’est modifiable qu’après cette action.
Les codes de cette contribution
- le code + la boucle à copier / coller dans la page rubrique du calendrier.
- le code + la boucle à copier / coller dans la page article du calendrier.
- le fichier agenda-sequentiel.inc à télécharger dans le répertoire racine de votre site spip (là où il y a les squelettes .php3). [1]
1) Le code + la boucle à copier / coller dans la page rubrique
2) le code + la boucle à copier / coller dans la page article
3) Le code contenu dans « agenda-sequentiel.inc »
Remarque de mise à jour :
Pour ceux qui avaient implémenté la version 1.0 et qui souhaitent passer à la version 2.0 :
Le passage de la 1.0 à la 2.0 prend 2 minutes, voici ce qu’il y a à faire :
1) Uploader le fichier « agenda-sequentiel.inc » dans le répertoire racine de votre site spip (là où il y a les squelettes .php3).
2) Dans le code des squelettes .html rubrique ET article de l’agenda, remplacer
les anciennes lignes :
par ces nouvelles :
3) Supprimer le code de la fonction « getDateAgenda(.. » de votre fichier mes_fonctions.php3. (ce dernier point n’est pas obligatoire, mais inutile de charger du code devenu inutile).



Dernière version de la contrib
Vos commentaires
# Le 28 février 2006 à 04:30, par Natna
En réponse à : Calendrier séquentiel
Bonjour, pardonnez mon ignorance, mais je ne comprends vraiment pas comment utiliser ce calendrier. J’ai du faire un impasse sur le fonctionnement général de spip, que j’arrivais néamoins à utiliser selon mes besoins auparavant. J’aimerais tout simplement installer un agenda sur une page de mon site. Ce que je ne comprends pas, c’est dans quelle pages article et rubrique je dois copier/coller ces codes... En effet, je n’ai jamais utilisé de page rubrique sur mes sites...
Je pense donc qu’une explication plus détaillée de l’installation serait nécessaire, ne serait-ce que pour permettre au gens qui ne maitrisent pas bien le fonctionnement de spip de le comprendre un petit peu mieux...
Merci.
# Le 28 février 2006 à 09:53, par Robert Sebille
En réponse à : Calendrier séquentiel
Effectivement, votre question concerne le fonctionnement de spip, pas celui du calendrier. La réponse à votre question existe dans la documentation de spip http://www.spip.net/fr_article877.html sous l’intertitre « Une interface différente dans le même site ». Je vous conseille cependant de lire l’entièreté de l’article.
Attention à ceci : n’utilisez pas le code à copier/coller présent sur cette page, il y a une erreur pour le mois de février (décrite dans le message 4). Utilisez le téléchargement « Version actuelle : version 2.0, sept 2003 à télécharger ici . »
Répondre à ce message
# Le 12 janvier 2004 à 02:02, par Marie
En réponse à : > Calendrier séquentiel
Moi j’ai un problème avec ce script.
Lorsque je poste un article, il me met toujours « le jeudi 1 janvier 1970 » au lieu de ce qui est prévu soit du jour mois année au jour moi année.
Quelqu’un peut il m aider ?
ps : j ai la dernière version de spip et du script, et pas de mes_fonctions.php3
# Le 12 janvier 2004 à 11:34, par Robert Sebille
En réponse à : > Calendrier séquentiel
Pas facile de répondre comme ça, mais suggestion de vérifications à faire :
as tu bien écrit ou copié/collé
le code
<?php// Récupération et formatage des dates de l'événement
$datep= '#DATE';
$dater = '#DATE_REDAC';
include "agenda-sequentiel.inc";
?>
dans une boucle article ?
et le code
<?php echo $dateaffiche; ?>en dessous du précédent, aussi dans la boucle article et à la place où doi(ven)t s’afficher le(s) date(s) ?Enfin, est-ce que tu as bien respecté la syntaxe et les noms ? Tout doit y être « tel quel », les même noms de variable, la casse (minuscule/MAJUSCULES), les ; (points-virgules), etc.
# Le 12 janvier 2004 à 19:14, par Marie
En réponse à : > Calendrier séquentiel
Oui oui j’ai bien tout recopié sans rien changé pour voir si ça marchait :/
J’ai un autre problème depuis que je suis passée à la version 1.7, dans le calendrier interne de l’administration ...
- Warning : Variable used in global statement already exists in the function in your script on line 11
- Warning : Bad arguments to join() in your script on line 222
# Le 12 janvier 2004 à 20:03, par Marie
En réponse à : > Calendrier séquentiel
J’ai résolu la première erreur lié au calendrier de spip version 1.7, un des arguments étant défini deux fois dans les fichiers :
- calendrier.php3
- calendrier_semaine.php3
Mais ça ne résout toujours pas mon problème d’agenda :(
Mon hébergeur est online je précise sait on jamais qu’ils aient encore inventé un truc pour nous empêcher de faire ce qu’on veut ...
# Le 12 janvier 2004 à 22:11, par Marie
En réponse à : > Calendrier séquentiel
J’ai testé un autre truc en affichant #DATE et #DATE_REDAC qu’il me récupère bien mais visiblement sans éxecuter le code php d’ou le problème.
Comment puis je résoudre ce truc immonde ? J’y arrive vraiment pas :/
# Le 16 janvier 2004 à 18:09, par dd
En réponse à : > 1 janvier 1970
Bonjour,
j’ai exactement le même probleme de date : tout s’affiche au 1 janvir 1970
l’hébergeur est aussi online et j’utilise
la version 1.6
peux-tu détailler comment tu as résolu
le problème
merci
catherine
# Le 12 janvier 2005 à 23:25, par pierre maillet
En réponse à : > Calendrier séquentiel
J’ai repéré le problème au niveau de la ligne suivante :
$datep=strtotime($datep) ;
dans « agenda-sequentiel.inc »
Avant la ligne la variable $datep est correcte,après la ligne elle prend la valeur de -1.
Très bizarre puisque cela fonctionne très bien en local avec easyphp 1-7
# Le 17 janvier 2005 à 11:57, par Robert Sebille
En réponse à : > Calendrier séquentiel
(S’il s’agit bien de la version 2.0 :)
strtotime essaye de lire une date au format anglais. Il est possible que ton serveur en ligne soit configuré pour produire des dates dans un autre format ; alors strtotime retourne -1, son code d’erreur.
tu peux essayer (g bien dit essayer ;-), car ca ne fonctionnera que si la locale anglais est installée sur le serveur en ligne, de forcer ce serveur à renvoyer un format anglais, avec le code suivant dans les squelettes rubrique et article :
<?php// Récupération et formatage des dates de l'événement en anglais
setlocale(LC_TIME, "en");
$datep= '#DATE';
$dater = '#DATE_REDAC';
include "agenda-sequentiel.inc";
// annulation formatage précédent des dates
setlocale(LC_TIME, "");
?>
Robert
# Le 17 janvier 2005 à 23:31, par pierre maillet
En réponse à : > Calendrier séquentiel
Cela ne marche pas,
pour info voilà les résultats affichés :
echo $datep ;
// donne 2005-01-31
$datep = strtotime($datep) ;
echo $datep ;
//donne 00:00:00-1
# Le 18 janvier 2005 à 11:25, par Robert Sebille
En réponse à : > Calendrier séquentiel
Le premier
echo $datep ; // donne 2005-01-31, étant initialisé à#DATEdevrait normalement donner une date au format MySql : « 2001-12-01 HH:MM:SS » ou HH:MM:SS sont respectivement les heures, minutes et secondes de la date, et non 2005-01-31 qui va générer une erreur de strtotime.V. : http://www.spip.net/fr_article1971.html
Pour ton site, on peut alors essayer ceci : Remplacer (dans article et rubrique)
$datep= '#DATE';$dater = '#DATE_REDAC';
par
$datep= '#DATE 00:00:00';$dater = '#DATE_REDAC 00:00:00';
Attention : 0 = le chiffre zéro (pas la lettre O) et il faut vérifier s’il faut 1 espace ou pas entre
#DATE, #DATE_REDAC et 00:00:00pour obtenir le format adéquat.Enfin, si tout cela ne marche pas, tu peux essayer le calendrier 3.0 que g proposé à la publication sur ce site, mais c tout récent et il est encore dans la « cuisine ». La version 3.0 est l’adaption au multilinguisme de spip. Elle évitera ce problème, mais attention, elle est un peu plus complexe à configurer, emploie les fichiers locaux de langue et exige une version spip >= 1.7.
Si tu veux essayer, tu peux la télécharger ici :
http://support.cassiopea.org/spip/agenda3.zip
Robert
Répondre à ce message
# Le 20 avril 2004 à 12:49, par Stéven
En réponse à : > Calendrier séquentiel, ça roule !
Salut
Merci pour cette contrib, ces quelques boucles sont très bien adaptées à un agenda de type « manifestations ».
Pas de problème pour la mise en place sous SPIP 1.7...
Répondre à ce message
# Le 10 février 2004 à 01:49, par zythum
En réponse à : > Calendrier séquentiel
J’ai regardé la syntaxe de l’agenda séquentiel
A la page sommaire j’ai mon lien vers la rubrique agenda id=4
Je colle le code dans la page rubrique-ag.html (différent autres rubriques)
Je colle le code dans la page article-ag.html après je suis un peu pommé. Pourrais-til y avoir une explication plus détaillée.
Répondre à ce message
# Le 25 novembre 2003 à 09:11, par asso.bachant
En réponse à : Calendrier séquentiel, une erreur ?
POURQUOI ?
Evénements
Parse error : parse error, unexpected $ in /home/users/b/bachant/www/agenda-sequentiel.inc on line 41
essazicalendar
LIGNE 41
$datepub=str_replace(date("l", $datep), $jour[$jrp], $datepub) ;
# Le 25 novembre 2003 à 09:41, par ?
En réponse à : > Calendrier séquentiel, une question
bon ça fonctionne presque, a part le petit bug de la ligne 41
une petite question, je souhaite crer dans mon agenda des sous rubriques et pouvoir les afficher.
rubrique agenda
evenements quelconque
sous-rubrique foot -> les matchs
sous-rubrique judo -> les competitions
or la ne s’affiche que evnement quelconque, ou faire la modif pour afficher les matchs et les compet.
suis je assez clair !
# Le 27 novembre 2003 à 12:42, par ?
En réponse à : > Calendrier séquentiel, une question
pb de la ligne 41 résolue
# Le 27 novembre 2003 à 13:51, par asso.bachant
En réponse à : > Calendrier séquentiel, une question
c’est d’enfer ça fonctionne.
agenda couplé aux annonces séquentiel !
# Le 27 novembre 2003 à 17:48, par asso.bachant
En réponse à : > Calendrier séquentiel, une question
j’ai crié victoire trop vite
a priori les news s’affiche en permanence
date de pub en ligne : date de début de l’evenement
date de pub antérieur : fin de l’evenement
ors quel que soit la date de pub en ligne, l’evenement s’affiche.
j’ai modifié cet ligne
id_rubriquepar dateage_redac<=0>
par
id_rubrique !==^(20)$par dateage_redac<=0>
afin d’afficher les sous rubriques de la rubrique agenda.
serait ce cette modif qui pertube ?
Répondre à ce message
# Le 20 novembre 2003 à 12:21, par Christophe
En réponse à : > Calendrier séquentiel
Bravo pour cette boucle, malheureusement elle ne fait que pallier à un gros défaut de SPIP (le seul heureusement) : il faut valider l’article avant de pouvoir modifier la date => être administrateur.
Il manque à SPIP un vrai gestionnaire d’agenda séquentiel...
Avec ça il serait parfait, déjà que...
Répondre à ce message
# Le 14 novembre 2003 à 16:06, par bernard
En réponse à : >pb « pas d’événement »
Bonjour,
Je teste en local le calendrier, sans succès.
J’obtiens toujours « il n’y a pas d’événement » lorsque je demande à voir la rubrique abritant le calendrier.
- J’ai créé à la racine du site une rubrique « agendas » (n°18) ; puis j’ai créé une sous-rubrique « vacances » (n°19).
- J’ai fait un article pour la rubrique « agenda » (date de public. = ce jour / date de fin = demain)
- J’ai bien déclaré dans l’interface privé l’affichage des dates de public. antérieure.
- J’ai créé un squel. article-18.html + un squel. rubrique-18.html + article-18.php3 + rubrique-18.php3
- le fichier « agenda-séquentiel.inc » est bien à la racine avec les autres squelettes.
Le squel. article fonctionne lorsque j’arrive directement sur cet article. Rien à faire pour le squelette rubrique-18.
Une idée ?
# Le 16 novembre 2003 à 17:52, par Robert Sebille
En réponse à : > pb « pas d’événement »
J’ai créé un squel. article-18.html + un squel. rubrique-18.html + article-18.php3 + rubrique-18.php3
Pourquoi article-18.php3 + rubrique-18.php3 ? les -18.html suffisent. Essaie de les supprimer ?
Note : il faut aussi corriger un petit bug (ou télécharger la version 16/11/2003) : Dans agenda-sequentiel.inc il faut corriger Febrary par February
Cortdialement,
Robert
Répondre à ce message
# Le 4 novembre 2003 à 11:11, par jc
En réponse à : > Calendrier séquentiel
merci pour ce travail ! si j’en juge par les deux urls-exemple ;) parce que chez moi, en local, ça ne marche pas :
pourtant
1. la date de publication antérieure est autorisée
2. les boucles sont copiées respectivement dans un rubrique-33.html (ma sous-rub calendrier) et dans un article-33.html (squel particulier et dépendant de la rubrique 33 c’est bien ça ?)
3. le cache de spip et celui du navigateur sont vidés
4. un article a été *publié* dans la rubrique 33
mais
la page rubrique m’affiche toujours « Il n’y a pas d’événements au calendrier. »
mmmh :-/
jc
# Le 4 novembre 2003 à 13:13, par jc
En réponse à : > Calendrier séquentiel
haaaaaaa
faut pas se gourrer d’un an
:-|
:-)
Répondre à ce message
# Le 29 septembre 2003 à 11:56, par Emma92
En réponse à : > Calendrier séquentiel
Bonjour,
Merci pour tout ce que vous faites.
J’ai récupérer la version 2.0 d’"agenda séquentiel".
Je suis en train de faire des tests en local et j’ai un bug au niveau de l’affichage du mois de février :
j’ai mis un événement du 25 février 2003 au 10 octobre 20003 et le résultat affiche :
« Du mardi 25 2003 au vendredi 10 octobre 2003 à Le grand palais. »
Apparemment (je n’ai pas fait tous les mois) cela ne concerne que « février ».
Où est le bug (qui se retrouve dans la page article). Je n’ai rien vu de bizarre dans « agenda-sequentiel.inc ».
Autre chose, mais là , ce n’est pas un bug, lorsque mon lieu commence par « Le » quelque chose on se retrouve avec « à Le » ce qui peut passer pour un nom propre(quoique à Le Grand Palais" c’est bof bof, mais lorque on veut mettre le restaurant Machin ....que faut-il modifier et où.
merci encore
# Le 29 septembre 2003 à 12:32, par Robert Sebille
En réponse à : > Calendrier séquentiel
- le mois février est un mois avec un « é ». voir si le problème se pose également avec décembre, et si oui, essayer de remplacer é par
eacute;dans le tableau des mois de agenda-sequentiel.inc ou de mettre sur le site spip un set de caractère comme le iso-8859-1> lorsque mon lieu commence par « Le »... que faut-il modifier et où
Ca se trouve dans les boucles spip elles-memes, des squelettes rubrique et article de l’agenda :
<b><?php echo $dateaffiche; ?></b>[<b> à ...cordialement,
robert
# Le 30 septembre 2003 à 13:22, par emma92
En réponse à : > Calendrier séquentiel
Merci,
Mais j’ai vérifié pour tous les mois avec accents (mon charset est bien à iso-8859-1), le bug se trouve bien uniquement sur février (ça passe bien pour août et décembre).
Le « eacute ; » dans agenda-sequentiel.inc ne corrige rien (eacute ; apparaît alors tel quel). Y aurait-il d’autres spipeurs avec le même problème ?
D’autre part pour le « à » je l’avais bien remarqué dans la boucle, mais ce qu’il faudrait c’est un petit script du genre "if le mot suivant =le , alors « au », if le mot suivant =les alors « aux », sinon « à »....." mais ça je ne sais pas vraiment faire .
Sinon je remplacerai par « lieu : »
emma92
# Le 8 octobre 2003 à 15:22, par ?
En réponse à : > Calendrier séquentiel
J’ai trouvé :
Dans agenda-sequentiel.inc il faut corriger Febrary par February !....
Par contre j’aimerais bien savoir pour quoi sur les deux sites cités lorsque l’événement a lieu sur 1 jour cela affiche bien « Le XX mois année » et chez moi alors que je ne mets pas de date antérieure (non afficher donc) cela affiche « Du xx mois année au (date de mise en ligne) ». Quelqu’un aurait-il une idée ?
Merci.
Sinon, c’est super.
# Le 9 octobre 2003 à 10:42, par emma92
En réponse à : > Calendrier séquentiel
J’ai trouvé en relisant le code de agenda-sequentiel.inc.
C’est tout bête mais il serait utile de le rajouter dans l’explication : lorsque l’événement se passe sur une seule journée, il suffit de mettre la même date à la date antérieure...cqfd....
Reste à résoudre le problème de « à » , « au », « à l’ », « à la » ....
# Le 9 octobre 2003 à 11:14, par Robert Sebille
En réponse à : > Calendrier séquentiel
> J’ai trouvé : Dans agenda-sequentiel.inc il faut corriger Febrary par February !....
Oui, stupide erreur de ma part ;-) je corrigerai la version en ligne dès que je peux.
> C’est tout bête mais il serait utile de le rajouter dans l’explication : lorsque l’événement se passe sur une seule journée, il suffit de mettre la même date à la date antérieure...cqfd....
Euh, c dans l’article ci-dessus et dans la doc accompagnant le package ... ;-)
« Règles d’écriture de l’agenda :
- La Date de publication en ligne = la date de DEBUT de l’événement (événement durant 1 ou plusieurs jours). Obligatoire.
- La Date de publication antérieure = la date de FIN de l’événement (événement durant 1 ou plusieurs jours). Obligatoire.
- Le Surtitre = le nom de l’organisateur.
- Le Sous-titre = le lieu de l’événement. »
Cordialement,
Robert.
Répondre à ce message
# Le 13 septembre 2003 à 19:38, par Gwendal
En réponse à : > Calendrier séquentiel
Ce qui serait génial ce serait de compiler les deux contribs dans ce style, cad :
calendrier séquentiel + réaliser un agenda sous spip
et là je signe des deux mains ;)
enfin merci déjà c’est du bon boulot
Répondre à ce message