|parametre_url

O filtro |parametre_url inclui ou remove um parâmetro a uma tag de URL.

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 &amp; 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&amp;id_bloc=5

 

[(#URL_PAGE{bloc}|parametre_url{id_bloc, 5, &}]

retornará spip.php?page=bloc&id_bloc=5


Ver também

Notas

[1Ver o código completo na zona: http://zone.spip.org/trac/spip-zone....

Autor Ricardo Porto Publié le :

Traductions : català, English, Español, français, Nederlands, Português