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

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

MTSetVar

最終更新日: 2017.10.04

変数を定義して値を設定します。変数を呼び出すときは、MTGetVar, MTVar ファンクションタグを利用します。

また設定した値は $name_foo として、モディファイアの値としても利用することができます。

変数の名前に、ハイフンを利用すると、$name-foo のような $ を利用したモディファイアを正常に評価できません。このため、ハイフンの利用はお控えください。

  • 使い方
MTGetVar として使う
<mt:Var name="foo">

MTSetVar として使う
<mt:Var name="entries_per_page" value="5">

モディファイア

name="foo"

変数の名前を指定します。このモディファイアは必須です。

value="bar"

変数の値を指定します。

append="0 | 1"

値に 1 を設定すると、変数に代入されている値の後に、値を連結します。初期値は 0 です。

prepend="0 | 1"

値に 1 を設定すると、変数に代入されている値の前に、値を連結します。初期値は 0 です。

op new in mt4.1

op モディファイアに関しては、テンプレートタグで利用できる演算関数を参照ください。

index new in mt4.1

配列のインデックス (添え字) を指定します。

配列変数が存在しない場合は指定された名前の配列変数を新しく作成します。このとき index0 以外を指定すると、sparse array を作成します。

<$mt:SetVar name="foo" index="0" value="x"$>

このタグは以下のようにも書くことができます。

<$mt:SetVar name="foo[0]" value="x"$>

名前[添え字] という記述が index モディファイアの代わりです。

key new in mt4.1

ハッシュのキーを指定します。

ハッシュ変数が存在しない場合は指定された名前のハッシュ変数を新しく作成して、キーと値のペアを設定します。

<$mt:SetVar name="bar" key="a" value="x"$>

このタグは以下のようにも書くことができます。

<$mt:SetVar name="bar{a}" value="x"$>

名前{キー} という記述が key モディファイアの代わりです。

function new in mt4.1

配列やハッシュ変数に値を設定するときに実行する関数の名前を指定します。利用できる名前は以下のとおりです。

  • push - 配列変数の一番上 (または一番最後) に新しい値を追加します。
  • unshift - 配列変数の一番下 (または一番最初) に新しい値を追加します。
  • undef - 配列またはハッシュ変数をクリアします。
  • delete - key モディファイアで指定されたキーと値のペアをハッシュ変数から削除します。
<$mt:SetVar name="foo" function="push" value="x"$>

このタグは以下のようにも書くことができます。

<$mt:SetVar name="push(foo)" value="x"$>

関数名(名前) という記述が function モディファイアの代わりです。

関連記事

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

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

    定義した変数から値を呼び出します。

  • キー(変数名)と値のペアをまとめてハッシュ変数に設定するためのブロックタグです。

  • 変数を定義して値を設定します。変数を呼び出すときは、MTGetVar, MTVar ファンクションタグを利用します。

    また設定した値は $name_foo として、モディファイアの値としても利用することができます。

    変数の名前に、ハイフンを利用すると、$name-foo のような $ を利用したモディファイアを正常に評価できません。このため、ハイフンの利用はお控えください。

  • このブロックタグで囲んだ内容を値にした変数を設定します。このタグの中ではテンプレートタグが利用できます。変数を呼び出すときは、MTGetVar, MTVar ファンクションタグを使います。

    MTSetVarTemplate ブロックタグとの違いは、囲んだ内容が処理された結果が値となるか、囲んだ内容が処理されずテンプレートのまま値となるかです。MTSetVarBlock ブロックタグでは囲んだ内容が処理された結果が値となります。

    設定した値は $name_foo として、モディファイアの値としても利用することができます。

    変数の名前にハイフンを利用すると、$name-foo のような $ を利用したモディファイアを正常に評価できません。このため、ハイフンの利用はお控えください。

  • 変数の名前とその値をまとめて設定できるブロックタグです。MTSetVar ファンクションタグでは、name モディファイアに変数の名前を、value モディファイアに変数に設定する値を入力します。MTSetVars タグではひとつの変数の設定を、変数の名前=変数に設定する値 というフォーマットでおこないます。また、MTSetVarBlock ブロックタグのように、テンプレートタグを使用することができます。

    変数の名前にハイフンを利用すると、$name-foo のような $ を利用したモディファイアを正常に評価できません。このため、ハイフンの利用はお控えください。

  • このブロックタグで囲んだ内容を値にした変数を設定します。変数を呼び出すときは、MTGetVar, MTVar ファンクションタグを使います。

    MTSetVarBlock ブロックタグとの違いは、囲んだ内容が処理された結果が値となるか、囲んだ内容が処理されずテンプレートのまま値となるかです。MTSetVarTemplate ブロックタグでは囲んだ内容が処理されずテンプレートがそのまま値となり、MTGetVar, MTVar ファンクションタグで呼び出されたテンプレートで処理をおこないます。このテンプレートタグは主に管理画面で利用されます。

    設定した値は $name_foo として、モディファイアの値としても利用することができます。

    変数の名前にハイフンを利用すると、$name-foo のような $ を利用したモディファイアを正常に評価できません。このため、ハイフンの利用はお控えください。

  • 定義した変数から値を呼び出します。このテンプレートタグは MTGetVar ファンクションタグと同じ働きをします。 (エイリアス)

    ただし、value モディファイアを使用した場合は MTSetVar ファンクションタグと同じ働きになります。