MTLoop
ハッシュ(配列)変数をモディファイア name または var で指定すると、指定されたハッシュ(配列)の内容に応じてタグで囲まれた内容を繰り返し処理します。
- 使い方
<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"
- var="foo"
-
対象となるハッシュ変数を指定します。
- sort_by="foo"
-
値に
key
を指定するとハッシュのキーの文字列順で並べ替えます。value
を指定するとハッシュの値の順で並べ替えます。key
,value
にはreverse
を併用できます。reverse
サブモディファイアは名前の通り、順序を逆にします。value
にはnumeric
を併用できます。numeric
は名前の通り、文字列ではなく数値比較をおこないます。<mt:Loop name="Offices" glue="," sort_by="value numeric reverse"> <$mt:Var name="__value__"$> </mt:Loop>
- glue="foo"
-
ループの各ブロックの間に表示する区切り文字を設定します。
特別な変数
MTLoop タグによるループの中では以下の特別な変数が利用できます。
- __first__
-
ループ出力の最初である場合 true (1) となります。
- __last__
-
ループ出力の最後である場合 ture (1) となります。
- __odd__
-
ループ出力の奇数回目の場合 ture (1) となります。
- __even__
-
ループ出力の偶数回目の場合 ture (1) となります。
- __key__
-
ループ出力の中で現在割り当てられているキーの名前を表示します。
- __value__
-
ループ出力の中で現在割り当てられているキーに設定された値を表示します。