Plusieurs variables #ENV

Bonjour

qq'un aurait-il la syntaxe pour passer plusieurs critères en variable d'url et les récupérer ensuite par #ENV pour fusionner les données récupérées.

Par exemple passer 2 mots cles en variables afin de recupérer et fusionner les deux flux dans un seul

ex d'url : http://monsite.fr/spip.php?page=mapage&theme=1&theme=2

boucle pour récupérer

<BOUCLE_maboucle (MOTS) {id_groupe=3} {titre IN #ENV {theme1,theme2}}> (cette boucle ne marche pas !)

merci

--
> Avant d'imprimer ce courriel, réfléchissons à l'utilité de la version imprimée.
Une lecture en ligne est peut-être suffisante.

---------------------------------
Olivier GARRY
Chef de produit vie-publique.fr
Adjoint Département des produits internet
Coordination des projets
La Documentation française
01 40 15 69 09
olivier.garry@df.gouv.fr

Olivier Garry a écrit :

qq'un aurait-il la syntaxe pour passer plusieurs critères en variable d'url *

le filtre parametre_url le permet parfois

Par exemple passer 2 mots cles en variables afin de recupérer et fusionner les deux flux dans un seul
<BOUCLE_maboucle (MOTS) {id_groupe=3} {titre IN #ENV {theme1,theme2}}> (cette boucle ne marche pas !)

#ENV ne récupère qu'une seule valeur
Essaie donc plutôt
<BOUCLE_maboucle (MOTS) {id_groupe=3} {titre IN #ENV{theme1},#ENV{theme2}}>

tu peux aussi éventuellement construire un tableau comme par exemple dans

JL

Merci

mais a priori la syntaxe boucle ne marche pas, il ne prend toujours que la première variable.

JLuc a écrit :

Olivier Garry a écrit :

qq'un aurait-il la syntaxe pour passer plusieurs critères en variable d'url *

le filtre parametre_url le permet parfois

Par exemple passer 2 mots cles en variables afin de recupérer et fusionner les deux flux dans un seul
<BOUCLE_maboucle (MOTS) {id_groupe=3} {titre IN #ENV {theme1,theme2}}> (cette boucle ne marche pas !)

#ENV ne récupère qu'une seule valeur
Essaie donc plutôt
<BOUCLE_maboucle (MOTS) {id_groupe=3} {titre IN #ENV{theme1},#ENV{theme2}}>

tu peux aussi éventuellement construire un tableau comme par exemple dans
Filtrer une liste de rubriques en fonction de l'utilisateur - SPIP-Contrib

JL

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Olivier Garry a écrit :

qq'un aurait-il la syntaxe pour passer plusieurs critères en variable d'url et les récupérer ensuite par #ENV pour fusionner les données récupérées.

si tu peux construire ton url ainsi :

http://monsite.fr/spip.php?page=mapage&theme=mot1,mot_2,blabla,truc

alors dans cette page tu peux faire ta boucle ainsi :

<BOUCLE_maboucle(MOTS){id_groupe=3}{titre IN #ENV{theme}|explode{','}}>
   ...
</BOUCLE_maboucle>

Autant pour moi j'avais fais une erreur. Ca fonctionne correctement.

Le seul soucis que je vais creuser c'est qu'évidemment, il prend les themes les uns après les autres et donc quand dans la boucle suivante imbriqués on appel des articles par dates par exemple les articles sont bien classés par date mais un thème après l'autre et non mixés.

merci en tous cas.

Je vais quand même tester la solution de denib pour voir la différence

Olivier Garry a écrit :

Merci

mais a priori la syntaxe boucle ne marche pas, il ne prend toujours que la première variable.

JLuc a écrit :

Olivier Garry a écrit :

qq'un aurait-il la syntaxe pour passer plusieurs critères en variable d'url *

le filtre parametre_url le permet parfois

Par exemple passer 2 mots cles en variables afin de recupérer et fusionner les deux flux dans un seul
<BOUCLE_maboucle (MOTS) {id_groupe=3} {titre IN #ENV {theme1,theme2}}> (cette boucle ne marche pas !)

#ENV ne récupère qu'une seule valeur
Essaie donc plutôt
<BOUCLE_maboucle (MOTS) {id_groupe=3} {titre IN #ENV{theme1},#ENV{theme2}}>

tu peux aussi éventuellement construire un tableau comme par exemple dans
Filtrer une liste de rubriques en fonction de l'utilisateur - SPIP-Contrib

JL

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Merci aux réponses reçues

en triturant un eu la boucle on peut donc avoir un flux mixé en retour du passage de 1 ou n variable en url avec cette syntaxe et ce depuis une sélection de rubriques:

<BOUCLE_maboucle (ARTICLES){par date}{inverse}{titre_mot IN #ENV{theme},#ENV{theme2}}{id_rubrique IN x,y,z} {doublons}>

Olivier Garry a écrit :

Autant pour moi j'avais fais une erreur. Ca fonctionne correctement.

Le seul soucis que je vais creuser c'est qu'évidemment, il prend les themes les uns après les autres et donc quand dans la boucle suivante imbriqués on appel des articles par dates par exemple les articles sont bien classés par date mais un thème après l'autre et non mixés.

merci en tous cas.

Je vais quand même tester la solution de denib pour voir la différence

Olivier Garry a écrit :

Merci

mais a priori la syntaxe boucle ne marche pas, il ne prend toujours que la première variable.

JLuc a écrit :

Olivier Garry a écrit :

qq'un aurait-il la syntaxe pour passer plusieurs critères en variable d'url *

le filtre parametre_url le permet parfois

Par exemple passer 2 mots cles en variables afin de recupérer et fusionner les deux flux dans un seul
<BOUCLE_maboucle (MOTS) {id_groupe=3} {titre IN #ENV {theme1,theme2}}> (cette boucle ne marche pas !)

#ENV ne récupère qu'une seule valeur
Essaie donc plutôt
<BOUCLE_maboucle (MOTS) {id_groupe=3} {titre IN #ENV{theme1},#ENV{theme2}}>

tu peux aussi éventuellement construire un tableau comme par exemple dans
Filtrer une liste de rubriques en fonction de l'utilisateur - SPIP-Contrib

JL

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Olivier Garry a écrit :

Autant pour moi j'avais fais une erreur. Ca fonctionne correctement.

Le seul soucis que je vais creuser c'est qu'évidemment, il prend les themes les uns après les autres et donc quand dans la boucle suivante imbriqués on appel des articles par dates par exemple les articles sont bien classés par date mais un thème après l'autre et non mixés.

dans ce cas, tu fais une boucle article vide avec {doublons} dans ta boucle mots, puis à l'exterieur, tu places ta boucle article avec {!doublons} le tri que tu veux

Essaie donc plutôt
<BOUCLE_maboucle (MOTS) {id_groupe=3} {titre IN #ENV{theme1},#ENV{theme2}}>

tu peux aussi éventuellement construire un tableau comme par exemple dans
Filtrer une liste de rubriques en fonction de l'utilisateur - SPIP-Contrib

=> a priori, c'est ca la bonne solution :
dans ton formulaire, tu mets des <select id="theme1" name="theme">...<select id="theme2" name="theme">...

et dans ta boucle :
<BOUCLE_maboucle (MOTS) {id_groupe=3} {titre IN
  #ENV*{theme}}>

ca prendra alors les differentes valeurs passées.

@++