1. Home
  2. Archive
  3. smartyでfor文っぽい動作を実現する

smartyでfor文っぽい動作を実現する

今までsmartyにはfor文みたいな動作する実現する場合には、ループさせたい回数を入れた配列を作ってforeachでループさせてたんですが、section関数を使えば簡単にできるということを発見しました。

phpでのfor文は下記のような感じですね。

for($i=0;$i<10;$i++){
  処理
}

これをsmartyのsection関数を使って書くとこうなります。(上記のfor文と全く等価ではないですが)

{section loop=10 name="test"}
  処理
{/section}

section関数というのは知ってたんですが、loopに整数を指定できるのを知りませんでした。てっきりloopには配列しか指定できないとばかり思ってたorz

若干for文とは使い勝手が違いますが、十分使えます。他にもstartとかstepなども指定できて細かいループの設定を決められます。詳細はマニュアルで。
Smarty section

トラックバックURL

http://webtech-walker.com/archive/2007/10/11181222.html/trackback

※トラックバックを受け付けてから表示するまでにしばらく時間がかかる場合があります。

コメントフォーム

※HTMLタグは使用できません。