- 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>