Smarty徹底入門(12):テンプレート内で繰り返し(2)
2005年04月24日-
スポンサード リンク
繰り返しにはforeach以外にもう一つあります。
それは、section です。
{section name="test" loop=$data}
{$smarty.section.test.iteration}:{$data[test]}
{sectionelse}
データがありません
{/section}
これはphp構文で言うfor文に近いものです。
name にはループ名として自由に指定して、loop ではループさせたいデータを指定するだけです。
{$smarty.section.test.iteration}でインデックス番号($iみたいな添え字)が取れます。
{$data[test]} によって、ループ中の要素が取れます。
ちょっと変わった記法ですね。
更に、section に、
{section name="test" loop=$data start="0" step="2" max="5"}
のように start, step, max を指定することで より for 文チックに細かくループさせることが出来ます。
start は 開始のインデックスの値で、step は1ループごとにインデックスをいくら増分させるかを指定し、max によって最大何回ループさせるかを指定します。
このmax に関しては"最大何回" の指定なので、若干 for の条件指定とは変わってきます。
こちらも便利ですね。
スポンサード リンク
Advertisements
SITE PROFILE
最新のブログ記事(新着順)
- 2012年2月10日 管理人のブックマーク
- ブラウザ上でPDFを表示するJSライブラリ「PDF.js」
- 次世代の検索フォームを作成するjQuery&CSS3サンプル
- 2012年2月9日 管理人のブックマーク
- faviconを書き換えてfacebookの通知っぽくしてくれるfaviconアラート実装ライブラリ「Tinycon」
- ページめくりを実現するためのjQueryプラグイン集
- 2012年2月8日 管理人のブックマーク
- HTMLをアップするとCSSのスケルトンを自動生成してくれる「bearcss」
- HTML5で綺麗でインタラクティブなグラフが描けるライブラリ「Flotr2」
- 2012年2月7日 管理人のブックマーク
- 過去のエントリ



















間違いの指摘をしていただける方はメール、あるいはTwitterでお願いします(クリック)




