[spip-dev] Tableau de valeur passé en url et recréation de l'url par parametre_url

Bonsoir,

J'ai l'impression de tomber sur une limitation de parametre_url

dans une url, j'ai id_mot[]=12&id_mot[]=13
Je cherche à faire recréer l'url par SPIP avec parametre_url

[(#URL_RUBRIQUE|parametre_url{id_mot,#ENV{id_mot}})] donne :
-Agenda,49-.html?id_mot=Array

En regardant le code source, j'ai trouvé :
// [(#SELF|parametre_url{suite[],1})] (tableaux valeurs multiples)

Donc
[(#URL_RUBRIQUE|parametre_url{id_mot[],#ENV{id_mot}})] donne :
[(-Agenda,49-.html|parametre_url{id_mot[],Array})]
Ce qui semble encore pire

[(#URL_RUBRIQUE|parametre_url{id_mot[],#ENV{id_mot}})] donne :
-Agenda,49-.html?id_mot[]=Array

Donc, pour ce que j'en vois, il y a un manque fonctionnel : pouvoir reconstruire une url contenant un tableau de valeurs.

Cédric

Bonsoir,

J'ai l'impression de tomber sur une limitation de parametre_url

dans une url, j'ai id_mot=12&id_mot=13
Je cherche à faire recréer l'url par SPIP avec parametre_url

[(#URL_RUBRIQUE|parametre_url{id_mot,#ENV{id_mot}})] donne :
-Agenda,49-.html?id_mot=Array

En regardant le code source, j'ai trouvé :
// [(#SELF|parametre_url{suite,1})] (tableaux valeurs multiples)

Donc
[(#URL_RUBRIQUE|parametre_url{id_mot,#ENV{id_mot}})] donne :
[(-Agenda,49-.html|parametre_url{id_mot,Array})]
Ce qui semble encore pire

[(#URL_RUBRIQUE|parametre_url{id_mot[],#ENV{id_mot}})] donne :
-Agenda,49-.html?id_mot=Array

rhoooooo
t'avais fait les 3/4 du chemin ....
la seule chose qui marche est

[(#URL_RUBRIQUE|parametre_url{id_mot[],1}|parametre_url{id_mot[],2})]

la fonction ne tolere pas les tableaux a titre de valeur.
Cédric

* cedric.morin@yterium.com tapuscrivait, le 12/11/2008 19:11:

rhoooooo
t'avais fait les 3/4 du chemin ....
la seule chose qui marche est

[(#URL_RUBRIQUE|parametre_url{id_mot[],1}|parametre_url{id_mot[],2})]

Malheureusement, je ne sais pas à l'avance combien il va y avoir de id_mot dans l'URL.

la fonction ne tolere pas les tableaux a titre de valeur.

Oui, c'est bien ce que je regrette :wink:
Merci de cette confirmation.

Cédric

C'était anormal. C'est maintenant fonctionnel.

Committo,Ergo:Sum

* Emmanuel Saint-James tapuscrivait, le 12/11/2008 21:25:

C'était anormal. C'est maintenant fonctionnel.

Merci beaucoup !
Par contre, par rapport à la doc, il faut écrire les encodés sinon, ça passe pas.

Et du coup,
[(#URL_RUBRIQUE|parametre_url{id_mot[],#ENV{id_mot}})]
produit :
?id_mot[]=114&id_mot[]=9

Alors que #SELF produit :
?id_mot%5B%5D=114&id_mot%5B%5D=9

Mais
[(#URL_RUBRIQUE|parametre_url{id_mot%5B%5D,#ENV{id_mot}})]
produit comme #SELF :
?id_mot%5B%5D=114&id_mot%5B%5D=9

Du coup, est-ce qu'il ne faudrait pas modifier les commentaires de la fonction et la page http://doc.spip.org/@parametre_url ?
(Afin de spécifier que les doivent être encodés : %5B%5D )

RealET a écrit :

?id_mot%5B%5D=114&id_mot%5B%5D=9
les doivent être encodés : %5B%5D

J'ai rien contre le pali antique
ni d'ailleurs contre l'assembleur Z80,
mais franchement, au niveau lisibilité, c'est vraiment pas ça ...
JL

* JLuc tapuscrivait, le 12/11/2008 23:28:

RealET a écrit :

?id_mot%5B%5D=114&id_mot%5B%5D=9
les doivent être encodés : %5B%5D

J'ai rien contre le pali antique
ni d'ailleurs contre l'assembleur Z80,
mais franchement, au niveau lisibilité, c'est vraiment pas ça ...

Alors, j'ai tenté :
[(#URL_RUBRIQUE|parametre_url{id_mot,#ENV{id_mot}})]
qui produit :
?id_mot=114&id_mot=9
Ce qui ne convient pas, parce que ce n'est plus un tableau de valeur, mais une valeur écrasée par la suivante (ou l'inverse, je ne sais pas).

L'idéal serait un rajout automatique des par parametre_url si le 2e paramètre est un tableau (mais là, on va encore dire que je crois au père noël).

Il ne faut rien écrire du tout: si la valeur est un tableau, parametre_url les rajoutera.

Committo,Ergo:Sum

je ne sais pas comment tu as fait ton test, mais chez moi le pere noel existe.

Committo,Ergo:Sum

* Emmanuel Saint-James tapuscrivait, le 12/11/2008 23:36:

Par contre, par rapport à la doc, il faut écrire les encodés sinon, ça passe pas.

Il ne faut rien écrire du tout: si la valeur est un tableau, parametre_url les rajoutera.

Malheureusement, non.
[(#URL_RUBRIQUE|parametre_url{id_mot,#ENV{id_mot}})]
produit :
?id_mot=114&id_mot=9

Il manque donc les sur id_mot

* Emmanuel Saint-James tapuscrivait, le 12/11/2008 23:40:

Alors, j'ai tenté :
[(#URL_RUBRIQUE|parametre_url{id_mot,#ENV{id_mot}})]
qui produit :
?id_mot=114&id_mot=9
Ce qui ne convient pas, parce que ce n'est plus un tableau de valeur, mais une valeur écrasée par la suivante (ou l'inverse, je ne sais pas).

L'idéal serait un rajout automatique des par parametre_url si le 2e paramètre est un tableau (mais là, on va encore dire que je crois au père noël).

je ne sais pas comment tu as fait ton test, mais chez moi le pere noel existe.

ah ?!?

Pour faire le test, j'ai un squelette appelé avec dans l'URL :
?id_mot=114&id_mot=9&var_mode=recalcul
Et comme balise (dans une Boucle rubriques idoine) :
[(#URL_RUBRIQUE|parametre_url{id_mot,#ENV{id_mot}})]
qui produit :
-Agenda,49-.html?id_mot=114&id_mot=9

Je suis donc en mode url propre2

Hello...

Je remonte ce thread car je suis tombé la nuit dernière nez à nez avec le même problème ...

Après investigations ... je suis tombé là dessus ...

Si ça casse quelque chose vous pouvez exprimer votre haine ... mais en tout cas je ne comprends pas l'inversion ...

ça donne cela en 2.0.9 :

http://trac.rezo.net/trac/spip/changeset/14433

et cela en 2.1.0 :

http://trac.rezo.net/trac/spip/changeset/14434