Utiliser un squelette article pour afficher soit les évènements associés à l'article, soit tous les évènements ayant un mot clé

Bonjour,

J'aimerais avec un même squelette d'article, afficher soit un article normal, qui contient à la fin la liste de tous les évènements associés à l'article, soit, en passant un paramètre supplémentaire à l'appel de la page, tous les évènements du site ayant un certain mot clé.

Pour l'instant, mon article contient un appel simple:

<INCLURE{fond=inc-evenements}{id_article}{lang}>

le fichier inc-evenements.html contient une boucle sur les évènements:

<BOUCLE_lesevenements(EVENEMENTS) {par date} {id_evenement ?} {id_article ?} >
...
</BOUCLE_lesevenements>

mon article est appelé avec le format classique: spip.php?articleXXX

Je voudrais dans le corps de mon article, créer un lien vers la même page, avec un paramètre supplémentaire, par exemple spip.php?articleXXX&id_mot=YYY, et faire en sorte que le squelette article.html appelé avec cette adresse, au lieu d'afficher tous les évènements associés à l'article XXX, m'affiche tous les évènements qui ont le mot clé YYY associé. Vous avez une idée de comment faire ? Cela fait plusieurs heures que je galère.

--
Alain

Webserviteur de CoeurNet <webserviteurs <at> coeurnet.org> writes:

J'aimerais avec un même squelette d'article, afficher soit un article
normal, qui contient à la fin la liste de tous les évènements associés à
l'article, soit, en passant un paramètre supplémentaire à l'appel de la
page, tous les évènements du site ayant un certain mot clé.

[(#ENV{id_mot}|?{' ',''})
  <INCLURE{fond=inc-evenements}{id_mot}{lang}>
]
[(#ENV{id_mot}|?{'',' '})
<INCLURE{fond=inc-evenements}{id_article}{lang}>
]

Si dans l'environnement il y a une valeur pour id_mot
appel à inc-evenements avec les paramètres id_mot et lang
sinon
appel à inc-evenements avec les paramètres id_article et lang

dans inc-evenements :

[(#ENV{id_mot}|?{' ',''})
<BOUCLE_lesevts(EVENEMENTS){par date}{id_evenement ?}{id_mot=#ENV{id_mot}}>
  ...
  </BOUCLE_lesevts>
]
[(#ENV{id_mot}|?{'',' '})
  <BOUCLE_lesevts(EVENEMENTS) {par date} {id_evenement ?} {id_article ?}>
  ...
  </BOUCLE_lesevts>
]

denisb a écrit :

Webserviteur de CoeurNet <webserviteurs <at> coeurnet.org> writes:

J'aimerais avec un même squelette d'article, afficher soit un article normal, qui contient à la fin la liste de tous les évènements associés à l'article, soit, en passant un paramètre supplémentaire à l'appel de la page, tous les évènements du site ayant un certain mot clé.

[(#ENV{id_mot}|?{' ',''})
  <INCLURE{fond=inc-evenements}{id_mot}{lang}>
]
[(#ENV{id_mot}|?{'',' '})
<INCLURE{fond=inc-evenements}{id_article}{lang}>
]

Si dans l'environnement il y a une valeur pour id_mot
appel à inc-evenements avec les paramètres id_mot et lang
sinon
appel à inc-evenements avec les paramètres id_article et lang

dans inc-evenements :

[(#ENV{id_mot}|?{' ',''})
<BOUCLE_lesevts(EVENEMENTS){par date}{id_evenement ?}{id_mot=#ENV{id_mot}}>
  ...
  </BOUCLE_lesevts>
]
[(#ENV{id_mot}|?{'',' '})
  <BOUCLE_lesevts(EVENEMENTS) {par date} {id_evenement ?} {id_article ?}>
  ...
  </BOUCLE_lesevts>
]

Merci, cela résoud mon problème. Décidément, le if then else de SPIP, j'ai du mal à m'y faire.

La page qui utilise cette astuce est la suivante: http://www.coeurnet.org/article1016.html

--
Webserviteur de CoeurNet