Smartyで繰り返しの回数を取得(カウント)するには予約変数 {$smarty.foreach.ループ名}を使用する。
{ foreach from=$loop key="key" item="value" }
名前は{$value.name}です
{/foreach}
というループ箇所がある場合は、【name="任意のループの名前"】をつけて
【$smarty.foreach.任意のループの名前.iteration】で参照する。
(なお、iteration の値は1からはじまる。)
{ foreach from=$loop key="key" item="value" name="loopname"}
名前は{$value.name}です
ループ回数は{$smarty.foreach.loopname.iteration}です
{/foreach}
でOK。
また5回ループするごとに何か処理を行いたい場合は {if} を使う
{ foreach from=$loop key="key" item="value" name="loopname"}
名前は{$value.name}です
{if $smarty.foreach.loopname.iteration%5==0}5回繰り返しました{/if}
{/foreach}