Ce n'est pas un bug. $id_mot est récupéré dans l'URL, mais si la variable
existe déjà dans le script (par exemple avec une boucle MOTS), ça risque de
donner des résultats inattendus. De plus, il ne sera plus possible de
récupérer de cette façon un paramètre de l'URL (ou de la soumission du
formulaire ou d'une session), d'après ce que j'ai lu sur les futures
versions de PHP. Il vaut mieux utiliser $_GET["id_mot"] ou bien
$HTTP_GET_VARS["id_mot"] (compatible avec les versions passées de PHP).
Donc je ferais :
votrefichier.php3?id_rubrique=2&num_mois=2&annee=2003
avec :
<BOUCLE_principale(RUBRIQUES){id_rubrique}>
<BOUCLE_breves(BREVES){id_rubrique}{mois=$_GET['num_mois']}{annee=$_GET['ann
ee']}>
(mettre des ' autour de id_mois, plutôt que des ", sinon ça va faire bugger
le calcul des squelettes)
J'ai fait aussi un tri par mois dans un de mes sites SPIP, mais mon souci
était d'afficher tous les mois ayant des articles (c'est pour un centre
culturel où certains mois d'été sont parfois vides). Ca peut se faire à
l'intérieur d'une boucle générale pour tous les articles, avec 12 boucles,
une par mois, pour l'année en cours.
Pour d'autres raisons, j'ai dû implementé tout ça en PHP pur, mais c'est
vrai que ton observation me permettrait de revoir mon code en partie en
SPIP.
Bernard Martin-Rabaud
martinrabo@wanadoo.fr
-----Message d'origine-----
De : spip-bounces@rezo.net [mailto:spip-bounces@rezo.net]De la part de
Sébastien - Essentiel PC
Envoyé : samedi 22 mars 2003 00:00
À : spip@rezo.net
Objet : [Spip] Un truc étrange ou comment passer des parametres aux
boucles dans une url ; bug ?
Bonjour,
J'étais en train de chercher à mettre en place un système d'archivage de mes
brèves et je suis tombé sur un truc bizarre.
Mon idée c'était d'imbriquer une boucle BREVES dans une boucle MOTS. La
boucle MOTS appelait un groupe de mots clés particuliers (dont les
descriptifs ont les numéros des mois) et mon but c'était de faire un tri sur
la boucle BREVES avec un truc du genre :
<BOUCLE_mots(MOTS){id_mot}>
<BOUCLE_breves(BREVES){id_rubrique}{mois=#DESCRIPTIF}{annee=2003}>
..
Bon bien sûr ça marche pas. Donc j'ai bricolé un peu et je me suis rendu
compte par hasard qu'on pouvait transmettre des paramètres aux boucles super
facilement. Essayez donc le code suivant (version 1.5.2 de SPIP) :
<BOUCLE_principale(RUBRIQUES){id_rubrique}>
<BOUCLE_breves(BREVES){id_rubrique}{mois=$id_mot}{annee=2003}>
<br />
<br />
[(#ID_BREVE)] <br />
[(#TITRE)] <br />
#DATE <br />
<br />
</BOUCLE_breves>
</BOUCLE_principale>
Et bien en appelant votrefichier.php3?id_rubrique=2&id_mot=2 , ça vous sort
les brèves du mois de février, quelque soit le mot clé ayant l'id numéro 2.
La seule condition c'est que le mot clé existe mais peu importe son contenu.
Du coup c'est super facile de créer des archives puisque l'on peut passer le
mois que l'on veut en paramètre.
J'ai donc quelques questions :
- ai-je fait une erreur quelques part ?
- s'agit-t-il d'un bug ? parce que c'est vraiment bizarre que ça marche
- sinon, est-il possible de trier facilement les brèves par mois sans
utiliser de php ?
Sébastien
http://www.essentielpc.com
_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.uzine.net/spip