ecmall模板标签数组遍历foreach,foreachelse,第一次循环,最后一次循环,循环次数,循环索引
 
 说明:
     foreach 用于处理简单数组(数组中的元素的类型一致)。
     foreach 必须和 /foreach 成对使用,且必须指定 from 和 item 属性。
     foreach 可以嵌套,但必须保证嵌套中的 foreach 名称唯一。   
     foreachelse 语句在 from 变量没有值的时候被执行。
     from 属性:指定被循环的数组,数组长度决定了循环的次数。
     item属性:单个循环项目的变量名,在循环内部使用。
     name 属性为可选属性,可以任意指定(字母、数字和下划线的组合)。
     name 属性如果指定,foreach循环体内会自动生成如下变量
     $smarty.foreach.foreach_name.index表示本次循环索引,从0开始递增的整数
     $smarty.foreach.foreach_name.iteration表示本次的循环次数,从1开始递增的整数
     $smarty.foreach.foreach_name.first表示是否是第一次循环
     $smarty.foreach.foreach_name.last表示是否是最后一次循环
     $smarty.foreach.foreach_name.show表示是否有数据
     $smarty.foreach.foreach_name.total表示循环总次数,也可在循环体外使用
 实例1
 模板代码:
 {* 该例将输出数组 $custid 中的所有元素的值 *}
 {foreach from=$custid item=curr_id}
         id: {$curr_id}<br>
 {/foreach}
 输出结果为:
 id: 1000<br>
 id: 1001<br>
 id: 1002<br>
 
 实例2
 复制内容到剪贴板代码:
 /* 在对应的控制器中赋值 */
 $this->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}<br>
 {/foreach}
 {/foreach}
 
 输出结果为:
 phone: 1<br>
 fax: 2<br>
 cell: 3<br>
 phone: 555-4444<br>
 fax: 555-3333<br>
 cell: 760-1234<br>
 模板代码:
 {* 最后一行不显示<br>标签 *}
 {foreach name=outer item=contact from=$contacts name=my_name}
 {foreach key=key item=item from=$contact}
 {$key}: {$item}{if !smarty.foreach.my_name.last}<br>{/if}
 {/foreach}
 {/foreach}
 
 输出结果为:
 phone: 1<br>
 fax: 2<br>
 cell: 3<br>
 phone: 555-4444<br>
 fax: 555-3333<br>
 cell: 760-1234
