Smartyで単純ループさせるには以下のようにする。
1 2 3 |
{section name=year start=1901 loop=2015} {$smarty.section.year.index} {/section} |
これはPHPのforループで表現するなら以下と同等。
1 2 3 |
for ($year = 1901; $year < 2015; $year++) { echo $year; } |
以下に、ループを使って年月日のセレクトボックスをSmartyで定義した例を示す。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<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