PowerCMS™
アルファサードのゴールデンウィーク休業について を追加しました。
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[新着情報] 多要素認証設定画面の QR コードが表示されない問題への対策ファイル を追加しました。
[新着情報] PowerCMSクラウド 月額費用の価格改定に関する追加情報を公開します を追加しました。

MTFor

MTFor

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

使い方

<MTFor var="x" from="5" to="10" glue= " | ">
    <MTIf name="__first__">
        <p>This is my first time through!</p>
    </MTIf>
    <p>now x = <MTVar name="x"></p>
</MTFor>

モディファイア

from

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

to

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

increment

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

glue

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

var

指定した変数名で __index__ を出力できるようになります。

特別な変数

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

__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>now test = <MTVar name="test"> | __index__: <MTVar name="__index__"> | __counter__: <MTVar name="__counter__"></p>
</MTFfor>

サンプルの出力例は以下のようになります。

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