MTSetVarBlock
ブロックタグで囲まれた内容を、変数として値を設定します。変数を呼び出すときは、MTGetVar, MTVar ファンクションタグを使います。
囲まれた内容に含まれるスペースや改行などもふくめた全てが変数の値となります。
MTSetVarTemplate ブロックタグとの違いは、ブロックした内容が処理された結果が値となるか、処理されずブロックしたテンプレートが値となるかです。MTSetVarBlock はブロックした内容が処理された結果が値となります。
設定した値は $name_foo として、モディファイアの値としても利用することができます。
変数の名前に、ハイフンを利用すると、$name_fooのような$を利用したモディファイアを正常に評価できません。このため、ハイフンの利用はお控え下さい。
使い方
<MTSetVarBlock name="name_foo"> <!-- do something --> </MTSetVarBlock>
モディファイア
- name="name_foo"
-
値を代入する変数の名前を指定します。
- append="0 | 1"
-
値に 1 を設定すると、変数に代入されている値の後に、値を連結します。
- prepend="0 | 1"
-
値に 1 を設定すると、変数に代入されている値の前に、値を連結します。
- op="演算子"
-
演算子を指定することで値に対して四則計算が可能です。詳細はテンプレートタグで利用できる演算関数を参照してください。
- index
-
配列のインデックス(添え字)を指定します。
配列変数が存在しない場合は指定された名前の配列変数を新しく作成します。このとき
index
に 0 以外を指定すると、sparse array を作成します。<MTSetVarBlock name="foo" index="0" value="x">
このMTタグは、以下のようにも書くことができます。
<MTSetVarBlock name="foo[0]" value="x">
名前[添え字]
という記述がindex
モディファイアの代わりです。 - key
-
ハッシュのキーを指定します。
ハッシュ変数が存在しない場合は指定された名前のハッシュ変数を新しく作成して、キーと値のペアを設定します。
<MTSetVarBlock name="bar" key="a" value="x">
このMTタグは、以下のようにも書くことができます。
<MTSetVarBlock name="bar{a}" value="x">
名前{キー}
という記述がkey
モディファイアの代わりです。 - function
-
配列やハッシュ変数に値を設定するときに実行する関数の名前を指定します。利用できる名前は以下のとおりです。
- push - 配列変数の一番上(または一番最後)に新しい値を追加します。
- unshift - 配列変数の一番下(または一番最初)に新しい値を追加します。
- undef - 配列またはハッシュ変数をクリアします。
- delete -
key
モディファイアで指定されたキーと値のペアをハッシュ変数から削除します。
<MTSetVarBlock name="foo" function="push" value="x">
このMTタグは、以下のようにも書くことができます。
<MTSetVarBlock name="push(foo)" value="x">
関数名(名前)
という記述がfunction
モディファイアの代わりです。
MTSetVarBlock と関連のあるテンプレートタグ (8)
- MTGetVar
- MTSetHashVar
- MTSetVar
- MTSetVarBlock
- MTSetVars
- MTSetVarTemplate
- MTUnless
- MTVar