ブロックタグに利用できる予約変数
最終更新日: 2017.09.26
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 と同じループのインデックスを表示します。
<mt:for var="test" from="10" to="20" increment="2"> <p>now test = <mt:var name="test"> | __index__: <MTVar name="__index__"> | __counter__: <MTVar name="__counter__"></p> </mt:for>
サンプルの出力結果は以下のとおりです。
<p>now test = 10 | __index__: 10 | __counter__: 1</p> <p>now test = 12 | __index__: 12 | __counter__: 2</p> <p>now test = 14 | __index__: 14 | __counter__: 3</p> <p>now test = 16 | __index__: 16 | __counter__: 4</p> <p>now test = 18 | __index__: 18 | __counter__: 5</p> <p>now test = 20 | __index__: 20 | __counter__: 6</p>