Smartyで単純ループさせるには以下のようにする。
{section name=year start=1901 loop=2015} {$smarty.section.year.index} {/section}
これはPHPのforループで表現するなら以下と同等。
for ($year = 1901; $year < 2015; $year++) { echo $year; }
以下に、ループを使って年月日のセレクトボックスをSmartyで定義した例を示す。
<select name="birth_year" > <option value="00" selected></option> {section name=year start=1901 loop=2015} <option value="{$smarty.section.year.index}">{$smarty.section.year.index}</a> {/section} </select>年 <select name="birth_month" > <option value="00" selected></option> {section name=day start=1 loop=13} <option value="{$smarty.section.day.index}">{$smarty.section.day.index}</a> {/section} </select>月 <select class="birth_day" > <option value="00" selected></option> {section name=day start=1 loop=32} <option value="{$smarty.section.day.index}">{$smarty.section.day.index}</a> {/section} </select>日
参考サイト
{section},{sectionelse} | Smarty
http://www.smarty.net/docsv2/ja/language.function.section.tpl