Sur un site j’ai voulu faire une sorte de journal mensuel que je puisse imprimer. Et je suis arrivé devant le problème : « comment dans SPIP sélectionner seulement ces articles ? »
Après plusieurs essais en SPIP pur... « Allez, réflechis, cela doit être possible en Spip pur », j’ai mis un peu de PHP, et hop voilà qui est fait.
Quelques explications pour ceux que cela intéresse :
$id_annee=intval($GLOBALS['id_annee']);
$id_mois=intval($GLOBALS['id_mois']);
Récuperation du mois et de l’année passé en paramètre dans l’url... et transformés en int pour être sûr que c’est bien un entier et pas un code malicieux ;-)
<BOUCLE_principale(ARTICLES){par date}>
<?php
$annee_article='[(#DATE|annee)]';
$mois_article='[(#DATE|mois)]';
if ($annee_article==$id_annee and $mois_article==$id_mois ) {
?>
Je fais une boucle sur tout le site puis je regarde la date de l’article et je la compare à celle passée en paramètre.
Remarques :
- c’est ici que vous pouvez retreindre et prendre par exemple uniquement les articles de la rubrique XX ;
- J’ai choisi la balise #DATE de Spip, mais sachez q’il y a aussi #DATE_REDAC, #DATE_MODIF .
<?php } ?>
</BOUCLE_principale>
Et n’oublions surtout pas en fin de boucle principale de fermer le test
A noter aussi que le délai dans mois.php3 est important : pas la peine de recalculer cette page souvent.
il vous suffit maintenant d’appeler : mois.php3?id_mois=01&id_annee=2003
par exemple.
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 : |