Movable Type CMSプラットフォーム Movable Type
ドキュメントサイト

Template Tag Referenceテンプレートタグリファレンス

MTLoop

最終更新日: 2016.11.28

ハッシュ(配列)変数をモディファイア 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__

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

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

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

  • テンプレートモジュールや外部ファイルを読み込むときに使うファンクションタグです。モディファイア module や file などにより、読み込む対象を指定します。widget モディファイアを利用すれば、ウィジェット単体の読み込みもおこなえます。

    外部ファイルを読み込む場合、外部ファイルの内容を更新しても、再構築をしない限りブログには反映されません。再構築せずに更新を反映するためには、ダイナミックパブリッシングを利用するか、SSI (サーバーサイドインクルード) や PHP のインクルードを利用します。

    指定したテンプレートモジュールが自ブログにない場合、親ウェブサイトのテンプレートモジュールを参照します。親ウェブサイトにもない場合は、グローバルテンプレートモジュールを参照します。

  • MTInclude ファンクションタグと同じくテンプレートモジュールを読み込みます。違いは、読み込んだテンプレートモジュール内の所定の箇所に、MTIncludeBlock ブロックタグで囲んだ内容を差し込める点です。

    テンプレートモジュールを読み込む際に、そのテンプレートモジュール内の一部の内容だけ読み込み元で指定したい場合に使用します。

  • ハッシュ(配列)変数をモディファイア name または var で指定すると、指定されたハッシュ(配列)の内容に応じてタグで囲まれた内容を繰り返し処理します。

  • このタグは現在、非推奨です。MTWidgetSet タグを使用してください。

    name モディファイアで指定したウィジェットセットを表示します。

    このテンプレートタグは MTWidgetSet ファンクションタグと同じ機能を持ちます (エイリアス)

  • name モディファイアで指定したウィジェットセットを表示します。