{foreach},{foreachelse}Nombre del AtributoTipoRequeridoDefaultDescripciónfromarraySin/aEl nombre de la matriz a la que usted estara pegando los elementositemstringSin/aEl nombre de la variable que es el elemento
actualkeystringNon/aEl nombre de la variable que es la llave actualnamestringNon/aEl nombre del ciclo foreach para acessar a las propiedades del foreach
Los ciclos(loop) foreach son una alternativa para loop
{section}.
foreach es usado para pegar cada elemento de una
matriz asociativa simple.
La sintaxis para foreach es mucho mas simple que
section, pero tiene una desventaja de que solo puede ser
usada en una única matriz.
La etiqueta foreach debe tener su par
/foreach.
Los parámetros requeridos son from e
item. El nombre del ciclo(loop) foreach puede ser
cualquier cosa que usted quiera, hecho de letras, números y subrayados.
Los ciclos(loop) foreach pueden ser anidados,
y el nombre de los ciclos(loop) anidados debe ser diferente uno de
otro. La variable from (normalmente una matriz de valores)
determina el número de veces del ciclo(loop) foreach.
foreachelse y ejecutando cuando no hubieren mas valores
en la variable from.
foreach
assign('custid', $arr);
?>
]]>
{/foreach}
]]>
Esta es la salida del ejemplo de arriba:
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 key=key item=item from=$contact}
{$key}: {$item}
{/foreach}
{/foreach}
]]>
Esta es la salida del ejemplo de arriba:
phone: 1
fax: 2
cell: 3
phone: 555-4444
fax: 555-3333
cell: 760-1234
]]>
Ejemplo de {foreach} - con base de datos (eg PEAR o ADODB)
assign("contacts", $db->getAssoc($sql));
?>
]]>
{$con.name} - {$con.nick}
{/foreach}
]]>
El ciclo(Loop) foreach también tiene sus propias variables para
manipular las propiedades del foreach.
Estas son indicadas así:
{$smarty.foreach.foreachname.varname}
con foreachname siendo el nombre especificado del atributo
name del foreach.
Ver {section}
para ejemplos ide las propiedades bajo las cuales son identicos.
iteration
iteration es usado para mostrar la interación actual del ciclo(loop).
iteration siempre comienza en 1 incrementado en uno cada interación.
firstfirst Toma el valor true si la interación actual del
foreach es la primera.
lastlast Toma el valor de true si la interación actual
del foreach es la ultima.
showshow Es usado como parámetro para el foreach.
show Es un valor booleano, true o false.
Si es false, el foreach no será mostrado. Si tuviera un
foreachelse presente, este será alternativamente mostrado.
totaltotal Es usado para mostrar el número de interaciones
del foreach. Este puede ser usado dentro o después de el.
Ver tambien {section} y
$smarty.foreach.