Get Smarty


Donate Bitcoin Bitcoin

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Largest classified with thousands of ads at Shoppok

Buy cheap eyeglasses from and save up to 80%.

Buy prescription glasses from and save.

Cheap Glasses Now On Sale at Starts At $7.95.

Where to buy discount wedding dresses and cheap smart dresses free shipping -

Find Wedding Dresses Online at Canada from

Brautkleider auf

Find free files to download on

Looking For Affordable Wedding Dresses 2015 at Best Prices On

Shop high quality cheap prom dresses on

Buy New Arrival Cheap Prom Dresses 2015 at JDBRIDAL Prom Dress Store



Nombre del Atributo Tipo Requerido Default Descripción
from array Si n/a El nombre de la matriz a la que usted estara pegando los elementos
item string Si n/a El nombre de la variable que es el elemento actual
key string No n/a El nombre de la variable que es la llave actual
name string No n/a El 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.

Example 7.4. foreach

   $arr = array( 1001,1002,1003);
   $smarty->assign('custid', $arr);

{* este ejemplo muestra todos los valores de la matriz $custid *}
{foreach from=$custid item=curr_id}
  id: {$curr_id}<br />


Esta es la salida del ejemplo de arriba:

id: 1000<br />
id: 1001<br />
id: 1002<br />


Example 7.5. foreach key

// La llave contiene la llave para cada valor del ciclo(loop)
//asignacion fisica de esta manera:
 $smarty->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}
  <hr />
  {foreach key=key item=item from=$contact}
    {$key}: {$item}<br />


Esta es la salida del ejemplo de arriba:

<hr />
  phone: 1<br />
  fax: 2<br />
  cell: 3<br />
<hr />
  phone: 555-4444<br />
  fax: 555-3333<br />
  cell: 760-1234<br />


Example 7.6. Ejemplo de {foreach} - con base de datos (eg PEAR o ADODB)

  $sql = 'select contact_id, name, nick from contacts order by contact';
  $smarty->assign("contacts", $db->getAssoc($sql));


{foreach key=cid item=con from=$contacts}
  <a href="contact.php?contact_id={$cid}">{$} - {$con.nick}</a><br />


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 es usado para mostrar la interación actual del ciclo(loop). iteration siempre comienza en 1 incrementado en uno cada interación.


first Toma el valor true si la interación actual del foreach es la primera.


last Toma el valor de true si la interación actual del foreach es la ultima.


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


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

No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Email: (not shown)
What is 13 plus 19? (Are you human?)


Sponsors [info]