MTFor、MTLoop 、および MTEntries や MTPages など、ループ処理をおこなうブロックタグ内では、以下の特別な変数が利用できます。
- __first__
-
ループ出力の最初である場合 true (1) となります。
- __last__
-
ループ出力の最後である場合 ture (1) となります。
- __odd__
-
ループ出力の奇数回目の場合 ture (1) となります。
- __even__
-
ループ出力の偶数回目の場合 ture (1) となります。
- __index__
-
ループのインデックスを格納します。
- __counter__
-
ループした回数を格納します。
__index__ 変数と __counter__ 変数の違いは以下のサンプルで確認することができます。
__counter__ 変数は、ループした回数だけ 1 ずつ増えていきますが、__index__ 変数の値は、MTFor に設定した変数 test と同じループのインデックスを表示します。
<MTFor var="test" from="10" to="20" increment="2"> <p>test= <MTVar name="test"> | __index__= <MTVar name="__index__"> | __counter__= <MTVar name="__counter__"></p> </MTFor>
サンプルの出力結果は以下のとおりです。
<p>test= 10 | __index__= 10 | __counter__= 1</p> <p>test= 12 | __index__= 12 | __counter__= 2</p> <p>test= 14 | __index__= 14 | __counter__= 3</p> <p>test= 16 | __index__= 16 | __counter__= 4</p> <p>test= 18 | __index__= 18 | __counter__= 5</p> <p>test= 20 | __index__= 20 | __counter__= 6</p>