movabletype.jp
検索

MTLoop BLOCK MT4.1

ハッシュ(配列)変数をモディファイア 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" new in mt4.1

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

ループ出力の中で現在割り当てられているキーに設定された値を表示します。

Updated on 2016-11-28, 12:16 .
MTDDC MEETUP TOKYO 2016

Movable Type 関連書籍