El filtro |parametre_url{nombre de variable, valor}
, aplicado a una baliza de URL: #SELF
, #URL_ARTICLE
, #URL_PAGE{sommaire}
..., le añade o le quita un parámetro.
Por ejemplo:[(#SELF|parametre_url{var1, un_valor}
le añadirá a la URL de la página en curso, bien ?var1=un_valor
si se trata del primer parámetro pasado a esta URL, o bien &var1=un_valor
si la URL ya tiene al menos un parámetro.
Se pueden encadenar los filtros para pasarle a una URL un conjunto de parámetros y sus valores: [(#SELF|parametre_url{var1, un_valor}|parametre_url{var2, otro_valor})]
.
Si se le quiere pasar un mismo valor a varios parámetros, se utilizará la notación: [(#SELF|parametre_url{variable|otra_variable|otra_mas, valor_comun})]
que devolverá la URL de la página en curso con los argumentos: variable=valor_comun&otra_variable=valor_comun&otra_mas=valor_comun
.
Los parámetros en array
Para añadir una variable en array (variable[]=>valeur) a la URL (típicamente: var_tab[]=a&var_tab[]=b&var_tab[]=c
) :
— No se pueden utilizar los caracteres reservados [ y ] como argumento del filtro |parametre_url
. El truco consiste en reemplazar esos dos caracteres por sus equivalentes en entidades numéricas HTML: [
y ]
.
— Además, es necesario proporcionar explícitamente la clave del índice del valor en la array; lo cual se convierte en: var_tab[0]=a&var_tab[1]=b&var_tab[2]=c
o bien var_tab[toto]=a&var_tab[titi]=b&var_tab[tata]=c
— Se escribirá por tanto:
[(#SELF|parametre_url{var_tab[0], a}
|parametre_url{var_tab[1], b}
|parametre_url{|var_tab[2], c})]
o bien
[(#SELF|parametre_url{var_tab[toto], a}
|parametre_url{var_tab[titi], b}
|parametre_url{|var_tab[tata], c})]
— Aquí también se puede pasar de una vez un mismo valor a varios parámetros:
[(#SELF|parametre_url{var_tab[0]|var_tab[1]
|var_tab[2], val_comun})]
para obtener algo como: var_tab[0]=val_comun&var_tab[1]=val_comun&var_tab[2]=val_comun
Suprimir parámetros existentes
Para hacer desaparecer un parámetro de URL existente, hace falta vaciarlo de su valor declarándolo de nuevo, pero explícitamente vacío: [(#SELF|parametre_url{var1, ''})]
, o, para una variable de array: [(#SELF|parametre_url{var_tab[clef0], ''})]
.
Se pueden suprimir varios parámetros a la vez con la notación: [(#SELF|parametre_url{variable|otra_variable|otra_mas, ''})]
.