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 文チックに細かくループさせることが出来ます。