Préambule
Si comme moi, vous n’utilisez pas la date de publication antérieure, vous pouvez utiliser très facilement cette méthode pour gérer un agenda d’évènements.
L’idée est simple : vos articles ont une date de publication. Certains d’entre eux (pas tous) annoncent un évènement futur. Cette date d’évènement est rappelée dans votre article, mais vous aimeriez pouvoir afficher dans un coin une liste de vos futurs événements !
C’est possible grâce à la date de publication antérieure.
En effet, mettez cette date de publication antérieure à la date de l’événement. Les articles sans date de publication antérieure n’apparaîtront pas dans l’agenda, tous ceux qui ont cette date activée apparaîtront.
Facile non ?
Comment faire ?
Activez l’utilisation de la date de publication antérieure à partir de « Administration du site » et « Contenu du site » comme suivant :
Il ne vous reste qu’à prendre quelques uns de vos article et leur mettre une date de publication antérieure, ca s’ajoute juste en dessous de la date de publication de l’article.
Voici les boucles
Cette première boucle affiche tous les événements FUTURS :
<table>
<BOUCLE_agenda_global (ARTICLES) {tout} {par date_redac} {age_redac <= 0}>
<tr><td valign="top" nowrap>
[Le (#DATE_REDAC|affdate) :]
</td>
<td> <a href="#URL_ARTICLE">#TITRE</a><br>
[(#DESCRIPTIF)<br>]<br>
</td></tr>
</BOUCLE_agenda_global>
</table>
Voici un exemple de son résultat :
Cette seconde boucle peut servir sur une page de sommaire pour n’afficher que les évènements des 30 prochains jours :
<BOUCLE_agenda (ARTICLES) {tout} {par date_redac} {age_redac <= 0} {age_redac >= -30}>
#PUCE [(#DATE_REDAC|affdate_court) :] <A href="#URL_ARTICLE">#TITRE</A><br>
</BOUCLE_agenda>
Voici un exemple de son résultat :
Pour aller plus loin
Vous avez une myriade de rédacteurs qui bossent pour vous ? (veinards !)
Ménagez les, et changez ce terme de « date de publication antérieure », qui ne correspond pas à ce nouvel usage.
Créez un fichier ecrire/lang/perso.php3 avec ce contenu :
<?php
$GLOBALS['i18n_spip_fr']['texte_date_publication_anterieure'] = 'DATE DE L\'EVENEMENT';
$GLOBALS['i18n_spip_fr']['texte_date_publication_anterieure_nonaffichee'] = 'L\'article n\'a pas de date d\'événement.';
?>
Et ceci pour obtenir :
Et voilà le travail ! C’est mieux non ?
Evidemment c’est un agenda rudimentaire, mais il a l’avantage de ne pas vous plonger dans le PHP :-) Si cela ne vous suffit pas, de vrais modules d’agenda - plus performants mais plus complexes - ont été développés par d’autres spipeurs :
— voici un squelette d’un agenda qui gère une date de fin d’événement ;
— voici un véritable agenda sous forme de calendrier.
Aucune discussion
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 : |