基本smarty句式:
{foreach key=cid item=con from=$results}
{/foreach}
.index包含当前数组索引,从零开始。
{* The header block is output every five rows *}
{* 每五行输出一次头部区块 *}
{foreach from=$items key=myId item=i name=foo}
{if $smarty.foreach.foo.index % 5 == 0}
Title{/if}
{$i.label}{/foreach}
.iteration包含当前循环次数,与index不同,从1开始,每次循环增长1。
{* this will output 0|1, 1|2, 2|3, ... etc *}
{* 该例将输出0|1, 1|2, 2|3, ... 等等 *}
{foreach from=$myArray item=i name=foo}
{$smarty.foreach.foo.index}|{$smarty.foreach.foo.iteration},
{/foreach}
.first在当前{foreach}循环处于初始位置时值为TRUE。
{* show LATEST on the first item, otherwise the id *}
{* 对于第一个条目显示LATEST而不是id *}
{foreach from=$items key=myId item=i name=foo}
{if $smarty.foreach.foo.first}LATEST{else}{$myId}{/if}{$i.label}{/foreach}
.last在当前{foreach}循环处于最终位置是值为TRUE。
{* Add horizontal rule at end of list *}
{* 在列表结束时增加一个水平标记 *})
{foreach from=$items key=part_id item=prod name=products}
{$prod}{if $smarty.foreach.products.last}
{else},{/if}
{foreachelse}
... content ...
{/foreach}
.total包括{foreach}将循环的次数,既可以在{foreach}中使用,也可以在之后使用。
{* show rows returned at end *}
{* 在结束位置显示行数 *}
{foreach from=$items key=part_id item=prod name=foo}
{$prod.name>
{if $smarty.foreach.foo.last}
{/if}
{foreachelse}
... something else ...
{/foreach}