PowerCMS™

MTFor

MTFor

様々なプログラミング言語にある for ループを行うためのブロックタグです。指定された値の間、囲まれたコンテンツを繰り返し処理します。

使い方

<mt:for var="x" from="5" to="10" glue= " | ">
    <mt:if name="__first__"><p>This is my first time through!</p></mt:if>
    <p>now x = <mt:var name="x"></p>
</mt:for>

モディファイア

from

ループ開始時の値を設定します。

to

設定した値を越えた場合、ループは停止します。

increment

1回のループで増加する値を指定します。何も指定しない場合は、1ずつ増加します。例えば、from に 0 to に 10 と設定し、increment を 2 に設定した場合、0, 2, 4, 6, 8, 10 と増加します。

glue

ループの出力の後に設定する区切り文字を指定します。区切り文字には ' (シングル・クォーテーション) や " (ダブル・クォーテーション) は使えません。

特別な変数

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

__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>

MTFor と関連のあるテンプレートタグ (1)

  • MTFor