PowerCMS™

MTLoop

MTLoop

HASH の配列を name モディファイアで指定すると、指定された HASH の内容に応じてブロックしたテンプレートを繰り返し処理します。

使い方

<mt:SetHashVar name="month">
<$mt:SetVar name="Jan" value="January"$>
<$mt:SetVar name="Feb" value="February"$>
<$mt:SetVar name="Mar" value="March"$>
<$mt:SetVar name="Apr" value="April"$>
<$mt:SetVar name="May" value="May"$>
<$mt:SetVar name="Jun" value="June"$>
<$mt:SetVar name="Jul" value="July"$>
<$mt:SetVar name="Aug" value="August"$>
<$mt:SetVar name="Sep" value="September"$>
<$mt:SetVar name="Oct" value="Octber"$>
<$mt:SetVar name="Nov" value="November"$>
<$mt:SetVar name="Dec" value="December"$>
</mt:SetHashVar>

<ul>
<mt:Loop name="month" sort_by="value">
    <li><$mt:Var name="__key__"$>: <$mt:Var name="__value__"$></li>
</mt:Loop>
</ul>

モディファイア

name="foo"

対象となる HASH 配列を指定します。

sort_by=""

key モディファイアを指定するとハッシュのキーの文字列順で並べ替えます。value モディファイアを指定するとハッシュまたは配列の値の順で並べ替えます。key, value モディファイアには reverse サブモディファイアを設定できます。reverse サブモディファイアは名前の通り、順序を逆にします。value モディファイアには numeric サブモディファイアも指定できます。numeric サブモディファイアは、名前の通り、文字列ではなく数値比較を行います。

<MTLoop name="Offices" glue="," sort_by="value numeric reverse"><MTVar name="__value__"></MTLoop>
glue

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

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