Smarty で年月日を表示するドロップダウンを作るには html_select_date というカスタム関数が便利。
これを使うといちいち select だ option だ、何日前を表示だ、とか考えなくてする。実際のコードはこんな感じ。
{html_select_date year_empty="-" month_empty="-" \ day_empty="-" prefix="start" start_year="-4" time=$start_time}
こうすると、ドロップダウンのトップ項目に - を含んだ 4 年前からのドロップダウンが生成され $start_time がデフォルト値になる。
prefix は name に start を付加させて startYear, startMonth とかなるような感じ。詳細は Smarty Documentation参照。