foreach,foreachelse
Nome do Atributo
Tipo
Obrigatório
Padrão
Descrição
from
string
Sim
n/d
O nome da matriz que você estará pegando os elementos
item
string
Yes
n/d
O nome da variável
que é o elemento atual
key
string
Não
n/d
O nome da variável que é a chave atual
name
string
Não
n/d
O nome do loop foreach para acessar as
propriedades foreach
Loops foreach são uma alternativa para loops
section. foreach é usado
para pegar cada elemento de uma matriz associativa simples.
A sintaxe para foreach é muito mais simples do que
section, mas tem a desvantagem de poder ser usada
apenas para uma única matriz. Tags foreach devem ter
seu par /foreach. Os parâmetros requeridos são
from e item. O nome do loop
foreach pode ser qualquer coisa que você queira, feito de letras, números
e sublinhados. Loops foreach
podem ser aninhados, e o nome dos loops aninhados devem ser diferentes
um dos outros. A variável from (normalmente uma
matriz de valores) determina o número de vezes do loop
foreach.
foreachelse é executado quando não houverem mais valores
na variável from.
foreach
{/foreach}
]]>
MOSTRA:
id: 1001
id: 1002
]]>
foreach key
assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"),
array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
*}
{foreach name=outer item=contact from=$contacts}
{foreach key=key item=item from=$contact}
{$key}: {$item}
{/foreach}
{/foreach}
]]>
MOSTRA:
fax: 2
cell: 3
phone: 555-4444
fax: 555-3333
cell: 760-1234
]]>
Loop foreach também tem as suas próprias variáveis para manipilar as propriedades
foreach. Estas são indicadas assim: {$smarty.foreach.foreachname.varname} com
foreachname sendo o nome especificado no atributo
name do foreach.
iteration
iteration é usado para mostrar a interação atual do loop.
Iteration sempre começa em 1 e
é incrementado um a um em cada interação.
first
first é definido como true se a interação atual
do foreach for a primeira.
last
last é definido como true se a interação atual
do foreach for a última.
show
show é usado como parâmetro para o foreach.
show é um valor booleano, true ou false. Se
false, o foreach não será mostrado. Se tiver um foreachelse
presente, este será alternativamente mostrado.
total
total é usado para mostrar o número de interações do
foreach. Isto pode ser usado dentro ou depois do foreach.