MTSetVarBlock
このブロックタグで囲んだ内容を値にした変数を設定します。このタグの中ではテンプレートタグが利用できます。変数を呼び出すときは、MTGetVar, MTVar ファンクションタグを使います。
MTSetVarTemplate ブロックタグとの違いは、囲んだ内容が処理された結果が値となるか、囲んだ内容が処理されずテンプレートのまま値となるかです。MTSetVarBlock ブロックタグでは囲んだ内容が処理された結果が値となります。
設定した値は $name_foo として、モディファイアの値としても利用することができます。
変数の名前にハイフンを利用すると、$name-foo のような $ を利用したモディファイアを正常に評価できません。このため、ハイフンの利用はお控えください。
- 使い方
<mt:SetVarBlock name="search_link">
<$mt:CGIPath$><$mt:SearchScript$>?IncludeBlogs=<$mt:BlogID$>
&template_id=<$mt:BuildTemplateID$>
&limit=<$mt:Var name="entries_per_page"$>
&archive_type=Index
&page=
</mt:SetVarBlock>
<$mt:Var name="search_link" strip="" trim="1" encode_html="1" setvar="search_link"$>
モディファイア
- name="name_foo"
- var="name_foo"
-
値を代入する変数の名前を指定します。このモディファイアは必須です。
- append="0 | 1"
-
値に 1 を設定すると、変数に代入されている値の後に、値を連結します。
- prepend="0 | 1"
-
値に 1 を設定すると、変数に代入されている値の前に、値を連結します。
- op
-
op モディファイアに関しては、ドキュメント: テンプレートタグで利用できる演算関数を参照ください。
- index
-
配列のインデックス(添え字)を指定します。
配列変数が存在しない場合は指定された名前の配列変数を新しく作成します。このとき
index
に 0 以外を指定すると、sparse array を作成します。<mt:SetVarBlock name="foo" index="0"><$mt:EntryTitle$></mt:SetVarBlock>
このタグは以下のようにも書くことができます。
<mt:SetVarBlock name="foo[0]"><$mt:EntryTitle$></mt:SetVarBlock>
配列変数名[添え字]
という記述がindex
モディファイアの代わりです。 - key
-
ハッシュのキーを指定します。
ハッシュ変数が存在しない場合は指定された名前のハッシュ変数を新しく作成して、キーと値のペアを設定します。
<mt:SetVarBlock name="bar" key="a"><$mt:EntryTitle$></mt:SetVarBlock>
このタグは以下のようにも書くことができます。
<mt:SetVarBlock name="bar{a}"><$mt:EntryTitle$></mt:SetVarBlock>
ハッシュ変数名{キー}
という記述がkey
モディファイアの代わりです。 - function
-
配列やハッシュ変数に値を設定するときに実行する関数の名前を指定します。利用できる名前は以下のとおりです。
- push - 配列変数の一番上 (または一番最後) に新しい値を追加します。
- unshift - 配列変数の一番下 (または一番最初) に新しい値を追加します。
- undef - 配列またはハッシュ変数をクリアします。
- delete -
key
モディファイアで指定されたキーと値のペアをハッシュ変数から削除します。
<mt:SetVarBlock name="foo" function="push"><$mt:EntryTitle$></mt:SetVarBlock>
このタグは以下のようにも書くことができます。
<mt:SetVarBlock name="push(foo)"><$mt:EntryTitle$></mt:SetVarBlock>
関数名(配列変数名)
という記述がfunction
モディファイアの代わりです。