Utilização
Este filtro aplica-se a uma tag URL, por exemplo #SELF
, #URL_ARTICLE
, #URL_PAGE{sommaire}
...
Tipicamente, coloca-se a tag no atributo href de um link:
<a href="[(#SELF|parametre_url{pais,portugal})]">Portugal</a>
incluirá no URL da página corrente, seja:
-
?pais=portugal
se se trata do primeiro parâmetro passado a este URL, ou -
&pais=portugal
se o URL já possui pelo menos um parâmetro.
Passar vários parâmetros ao URL
Pode-se encadear os filtros para passar ao URL um conjunto de parâmetros e seus valores:
[(#SELF|parametre_url{pais,portugal}|parametre_url{moeda,euro})]
Se se deseja passar um mesmo valor a vários parâmetros, deve ser usada a nomenclatura:
[(#SELF|parametre_url{pais|lugar|terreno,portugal})]
que retornará o URL da página corrente com os argumentos:
pais=portugal&lugar=portugal&terreno=portugal
Passar uma matriz de valores
Se se deseja passar vários valores para um mesmo argumento, pode-se passar a matriz desses valores, com as tags #ARRAY
ou #LISTE
.
Exemplo:
[(#SELF|parametre_url{cidade,#LISTE{Braga,Matosinhos,Estarreja,Lisboa}})]
Remover parâmetros existentes
Para fazer desaparecer um parâmetro de um URL existente, é preciso esvaziar o seu valor, declarando-o novamente, mas explicitamente vazio:
[(#SELF|parametre_url{pais,''})]
Pode-se remover vários parâmetros simultaneamente com a nomenclatura:
[(#SELF|parametre_url{pais|lugar|terreno,''})]
Recuperar um parâmetro passado no URL
Usa-se a tag #ENV
.
Assim, no exemplo
<a href="[(#SELF|parametre_url{pais,portugal})]">Portugal</a>
#ENV{pais}
retornará portugal.
Outro exemplo, o plugin "Calendrier_mini" recuper as informações no contexto de exibição do mini calendário, como a seguir [1]:
... #ENV{urljson}|parametre_url{id_rubrique} ...
Explicação: a variável #ENV{urljson}
contém um URL e o código acima retorna o valor de id_rubrique se esse parâmetro estiver presente no URL em questão.
Forçar o separador
Por padrão, os URLs são codificados com o separador &
mas é possível forçar um outro separador, indicando um 3º argumento
|parametre_url{
nome de variável, valor, separador}
Assim
[(#URL_PAGE{bloc}|parametre_url{id_bloc, 5})]
retornará spip.php?page=bloc&id_bloc=5
[(#URL_PAGE{bloc}|parametre_url{id_bloc, 5, &}]
retornará spip.php?page=bloc&id_bloc=5