Smartyのforeach

これもいつも書き方忘れるので、書いとく!
  
Smartyでテンプレート側でforeachを回す時の書き方

{foreach from=【配列】 key=【キーを格納する変数】 item=【要素を格納する変数】}
    繰り返したい処理
{/foreach}

  
例えばRSSリーダーのような、何かの一覧表示を作りたい時や
プルダウンメニューの項目がやけに多い時、
ひとつずつ書いていてはとっても大変。
  
そんなときはロジック側で下準備をして
テンプレート側でforeachを回せば楽ちんなのさ!
    
試しにプルダウンメニューで今が何月なのかを選べるのを書いてみる
  
まずロジックファイル。名前はsample.php

<?php

    require_once('../../../libs/Smarty.class.php');
    $smarty = new Smarty();

    $months[0] = 1;
    $months[1] = 2;
    $months[2] = 3;
    $months[3] = 4;
    $months[4] = 5;
    $months[5] = 6;
    $months[6] = 7;
    $months[7] = 8;
    $months[8] = 9;
    $months[9] = 10;
    $months[10] = 11;
    $months[11] = 12;

    $smarty->assign('months',$months);
    $smarty->display('sample.html');

  
次にテンプレートファイル。名前はsample.html

<select name='month'>
    {foreach from=$months item=month key=num}
        <option value='{$num}'>{$month}</option>月
    {/foreach}
</select>

これでプルダウンメニューに1〜12が表示されて月が選べるようになったはず!
  
余談。
forとかforeachとかが初めて動いた時、
なんかよくわかんないけどすごいデキる人になった気分になった。
本当に気分だけなんだけどねっ!!!!ぷぎゃ!