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)
- MTLoop
- MTSetHashVar