|foreach

O filtro |foreach utiliza o modelo squelettes-dist/modeles/foreach.html para exibir de maneira apresentávelos pares chave=>valor da matriz à qual é aplicado.

  • Apparu en : SPIP 2.0
  • Dépréciés depuis : SPIP 4.0

-  Para

 #SET{matriz, #ARRAY{0,a,1,b,2,c,3,d}}

,

[(#GET{matriz}|foreach)]`

retorna:

  • 0=> a
  • 1=> b
  • 2=> c
  • 3=> d

-  Para

&tab[]=aa&tab[]=bb&tab[]=cc&tab[]=dd 

passado no URL,

[(#ENV{tab}|foreach)]

retorna:

  • 0=> aa
  • 1=> bb
  • 2=> cc
  • 3=> dd

-  Se a tag à qual é aplicado o filtro |foreach for uma matriz linearizada (ver as funções PHP), é indispensável aplicar o filtro |unserialize após ter aplicado asterisco previamente:
por exemplo: [(#ENV*|unserialize|foreach)].

-  Pode-se forçar a utilização de outro modelo que não o foreach.html chamando: [(#GET{matriz}|foreach{meu_modelo})] onde meu_modelo.html é o modelo personalizado a usar e que tivemos a atenção de colocar em squelettes/modeles/.

-  Exemplo: exibir a lista dos nomes de pligins ativos usados pelo site

O ficheiro de modelo modeles/lista_plug.html conterá:

[<li>(#ENV{valor}|strtolower)</li>]

e será chamado por:

 [<ul>(#PLUGIN*|unserialize|foreach{lista_plug})</ul>]

Substituição pelo loop DATA

O filtro foreach estando obsoleto após o SPIP 4.0, é aconselhável substituí-lo por outras formas de escrita, notadamente com o loop DATA.

O que se escrevia como

[(#LISTE{a,b,c,d}|foreach)]

pode-se escrever como:

<BOUCLE_lista(DATA){matriz fonte, #LISTE{a,b,c,d}}>
- #CLE => #VALEUR <br />
</BOUCLE_lista>

Ver a documentação sobre os iteradores

Autor Ricardo Porto Publié le :

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