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
<B_articles>
<b>Evénements</b><br><br>
<ul>
<BOUCLE_articles(ARTICLES){id_rubrique}{par date}{age_redac<=0}>
<?php
// Récupération et formatage des dates de l'événement
$datep= '#DATE';
$dater = '#DATE_REDAC';
include "agenda-sequentiel.inc";
?>
<li><b><?php echo $dateaffiche; ?></b>[<b> à (#SOUSTITRE|supprimer_tags).</b>]
[<br><i>Organisé par (#SURTITRE|supprimer_tags)</i>]
[<br><A HREF="#URL_ARTICLE">(#TITRE)</a>]
[<br>(#DESCRIPTIF)]
<hr class="spip">
</BOUCLE_articles>
</ul>
</B_articles>
<br>Il n'y a pas d'événements au calendrier.
<//B_articles>
2) le code + la boucle à copier / coller dans la page article
<BOUCLE_evenement(ARTICLES){id_article}>
<h1>[(#TITRE|supprimer_numero)]</h1>
<?php
// Récupération et formatage des dates de l'événement
$datep= '#DATE';
$dater = '#DATE_REDAC';
include "agenda-sequentiel.inc";
?>
<b><?php echo $dateaffiche; ?>[ à (#SOUSTITRE|supprimer_tags)]</b>
[<br><i>Organisé par (#SURTITRE|supprimer_tags)</i>]<br><br>
[(#CHAPO|justifier)<br><br>]
[(#TEXTE|justifier)<br><br>]
[<P><i>(#PS|justifier)</i>]
[<HR class="spip" width="25%" align="left">(#NOTES)]
</BOUCLE_evenement>
3) Le code contenu dans “agenda-sequentiel.inc”
<?php
/************************************************/
// Fonction pour formater la date de l'agenda
// ATTENTION: La publication des articles post-datés doit être activée (Administration du site)
// La date de publication = date de départ, la date de publication antérieur = date de fin
// Les articles dans les boucles sont classés par date de publication
// Le code ci-dessous doit se trouver dans les boucles articles des squeletes rubrique et article adéquat
/*****
<?php
$datep= '#DATE';
$dater = '#DATE_REDAC';
include "agenda-sequentiel.inc";
?>
<?php echo $dateaffiche; ?>
*****/
// Auteur: robert.sebille(at)cassiopea.org - sept 2003
// Sous licence GNU/GPL http://www.gnu.org/copyleft/gpl.html
/************************************************/
$mois["January"] = "janvier";
$mois["Febrary"] = "février";
$mois["March"] = "mars";
$mois["April"] = "avril";
$mois["May"] = "mai";
$mois["June"] = "juin";
$mois["July"] = "juillet";
$mois["August"] = "août";
$mois["September"] = "septembre";
$mois["October"] = "octobre";
$mois["November"] = "novembre";
$mois["December"] = "décembre";
$jour=array("dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi");
$datep=strtotime($datep);
$msp = date("F", $datep);
$jrp=date("w", $datep); // jour de la semaine
$datepub=date("l j F Y",$datep);
$datepub=str_replace(date("F", $datep), $mois[$msp], $datepub);
$datepub=str_replace(date("l", $datep), $jour[$jrp], $datepub);
$dater=strtotime($dater);
$msr = date("F", $dater);
$jrr=date("w", $dater); // jour de la semaine
$dateredac=date("l j F Y",$dater);
$dateredac=str_replace(date("F", $dater), $mois[$msr], $dateredac);
$dateredac=str_replace(date("l", $dater), $jour[$jrr], $dateredac);
if ($datep == $dater) {$dateaffiche = "Le ".$datepub;} else {$dateaffiche = "Du ".$datepub." au ".$dateredac;}
?>
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:
// getDateAgenda est dans mes_fonctions.php3
$datep= '#DATE';
$dater = '#DATE_REDAC';
$dateaffiche = getDateAgenda($datep, $dater);
par ces nouvelles:
// Récupération et formatage des dates de l'événement
$datep= '#DATE';
$dater = '#DATE_REDAC';
include "agenda-sequentiel.inc";
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).
No discussion
Add a comment
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.
Follow the comments: |