php繰り返しで特殊なのが、

sectionです。

{section name="test" loop=$data}
{$smarty.section.test.iteration}:{$data[test]}

{sectionelse}
データがありません
{/section}

$smarty.section.test.iteration}でインデックス番号($iみたいな添え字)が取れます。

{$data[test]} によって、ループ中の要素が取れます。

更に、section に、
{section name="test" loop=$data start="0" step="2" max="5"}

のように start, step, max を指定することで より for 文チックに細かくループさせることが出来ます。




参考:http://phpspot.org/blog/archives/2005/04/smarty122.html