Smarty: cuantas veces pasamos por el bucle?

31Oct08

Estamos trabajando con Zend Framework y Smarty como motor de plantillas. Me he encontrado con la necesidad de contar las veces que itero sobre un bucle.

Lo comparto porqué me he estado un rato para sacarlo:

Opción 1: Usar el “counter” de Smarty

{assign var="n" value="0"}
{counter start=0 print=false assign=n}
{foreach from=$array item=element}
    {counter print=false}
    //Hacer algo
{/foreach}
n = {$n}

Opción 2: Usar el “section” de Smarty (por Jordi Catá)

{section name=index loop=$array}
    n = {$smarty.section.index.total}
{/section}

Opción 3: Contando el numero de elementos del array

n = {$array|@count}

+info: Smarty {counter}
+info: Smarty {assign}

Saludos!

Nota: Que frío hace por aquí … a veces incluso nieva (vía Chus in Reading).

There are 3 comments in this article:

  1. 5/11/2008Jordi Catà say:

    si usas los {section name=index loop=$ARRAY}
    {/section}

    simplemente haciendo {$smarty.section.index.total}

    a ver si esto os sirve :-)

    saludos

  2. 19/12/2009Ambigel say:

    PAU, por que ZEND? vi que habías hecho un post sobre CAKEPHP

  3. 27/05/2010Cmt say:

    Hola, quisiera saber si se puede sumar los valores de una columna generada por un foreach en el .tpl. y mostrarlo como un total de toda sea columna : por ejm :

    Columna1
    5
    4
    3
    3

    ___
    = 15

Write a comment: