mtde.info

Movable Type Developers Express

MTFor

2008年2月 1日 23:33 | Writer: apstar | 記事本文

MTForテンプレートタグは、ループと呼ばれる繰り返し処理を実行するためのものです。

基本書式

varにはカウンタと呼ばれる変数名を記述します。一文字でxやiと記述してよいです。

fromにはループの開始数値を記述し、toには終了数値を記述します。

<MTFor var="x" from="0" to="10">
   <MTGetVar name="x">
</MTFor>

出力結果:0 1 2 3 4 5 6 7 8 9 10

incrementモデファイア

incrementモデファイアを追加すると、ループ一回当たりにxに加算される値を変更できます。

<MTFor var="x" from="0" to="10" increment="2">
   <MTGetVar name="x">
</MTFor>

出力結果:0 2 4 6 8 10

glueモデファイア

glueモデファイアを追加すると、ループ一回ごとに区切り文字を指定できます。シングルクォーテーションやダブルクォーテーションは指定できません。

<MTFor var="x" from="0" to="10" glue=",">
   <MTGetVar name="x">
</MTFor>

出力結果:0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10

特殊な書式(その他)

MTForによるループの中では以下の特別な変数が利用できます。

__first__
ループ出力の最初である場合1を返す。
__last__
ループ出力の最後である場合1を返す。
__odd__
ループ出力の奇数回目の場合1を返す。
__even__
ループ出力の偶数回目の場合1を返す。
__index__
ループのインデックスを格納
__counter__
ループした回数を格納

特殊な書式のテスト用コード

<MTFor var="x" from="0" to="10">
   <MTIf name="__first__">先頭値<MTGetVar name="__first__"></MTIf>
   <MTIf name="__last__">最終値<MTGetVar name="__last__"></MTIf>
   <MTIf name="__odd__">奇数値<MTGetVar name="__odd__"></MTIf>
   <MTIf name="__even__">偶数値<MTGetVar name="__even__"></MTIf>
   __index__<MTGetVar name="__index__">
   __counter__<MTGetVar name="__counter__">
   xカウンタの値 <MTGetVar name="x">
   <br />
</MTFor>

For系

2008 mtde.info