MTSetVarTemplate
このブロックタグで囲んだ内容を値にした変数を設定します。変数を呼び出すときは、MTGetVar, MTVar ファンクションタグを使います。
MTSetVarBlock ブロックタグとの違いは、囲んだ内容が処理された結果が値となるか、囲んだ内容が処理されずテンプレートのまま値となるかです。MTSetVarTemplate ブロックタグでは囲んだ内容が処理されずテンプレートがそのまま値となり、MTGetVar, MTVar ファンクションタグで呼び出されたテンプレートで処理をおこないます。このテンプレートタグは主に管理画面で利用されます。
設定した値は $name_foo として、モディファイアの値としても利用することができます。
変数の名前にハイフンを利用すると、$name-foo のような $ を利用したモディファイアを正常に評価できません。このため、ハイフンの利用はお控えください。
- 使い方
<mt:SetVarTemplate id="search_results" name="search_results">
<mt:SearchResults>
<mt:SearchResultsHeader>
<section id="search-results">
<h2 class="title">
<mt:IfStatic><mt:IfStraightSearch>
「<$mt:SearchString$>」と一致するもの
</mt:IfStraightSearch></mt:IfStatic>
<mt:IfTagSearch>
タグ「<$mt:SearchString$>」が付けられているもの
</mt:IfTagSearch>
</h2>
</mt:SearchResultsHeader>
<$mt:Include module="記事の概要" hide_counts="1"$>
<mt:SearchResultsFooter>
</section>
<nav class="pagination">
<ul>
<mt:IfMoreResults><li><a rel="prev" href="<$mt:NextLink encode_html="1"$>" onclick="return swapContent();">過去の記事</a></li></mt:IfMoreResults>
<mt:IfPreviousResults><li><a rel="next" href="<$mt:PreviousLink encode_html="1"$>" onclick="return swapContent(-1);">新しい記事</a></li></mt:IfPreviousResults>
</ul>
</nav>
</mt:SearchResultsFooter>
</mt:SearchResults>
</mt:SetVarTemplate>
<$mt:Var name="search_results"$>
モディファイア
- name="name_foo"
- var="name_foo"
-
値を代入する変数の名前を指定します。このモディファイアは必須です。
- append="0 | 1"
-
値に 1 を設定すると、変数に代入されている値の後に、値を連結します。
- prepend="0 | 1"
-
値に 1 を設定すると、変数に代入されている値の前に、値を連結します。
- index
-
配列のインデックス(添え字)を指定します。
配列変数が存在しない場合は指定された名前の配列変数を新しく作成します。このとき
index
に 0 以外を指定すると、sparse array を作成します。<mt:SetVarTemplate name="foo" index="0"><$mt:EntryTitle$></mt:SetVarBlock>
このタグは以下のようにも書くことができます。
<mt:SetVarTemplate name="foo[0]"><$mt:EntryTitle$></mt:SetVarBlock>
配列変数名[添え字]
という記述がindex
モディファイアの代わりです。 - key
-
ハッシュのキーを指定します。
ハッシュ変数が存在しない場合は指定された名前のハッシュ変数を新しく作成して、キーと値のペアを設定します。
<mt:SetVarTemplate name="bar" key="a"><$mt:EntryTitle$></mt:SetVarBlock>
このタグは以下のようにも書くことができます。
<mt:SetVarTemplate name="bar{a}"><$mt:EntryTitle$></mt:SetVarBlock>
ハッシュ変数名{キー}
という記述がkey
モディファイアの代わりです。 - function
-
配列やハッシュ変数に値を設定するときに実行する関数の名前を指定します。利用できる名前は以下のとおりです。
- push - 配列変数の一番上 (または一番最後) に新しい値を追加します。
- unshift - 配列変数の一番下 (または一番最初) に新しい値を追加します。
- undef - 配列またはハッシュ変数をクリアします。
- delete -
key
モディファイアで指定されたキーと値のペアをハッシュ変数から削除します。
<mt:SetVarTemplate name="foo" function="push"><$mt:EntryTitle$></mt:SetVarBlock>
このタグは以下のようにも書くことができます。
<mt:SetVarTemplate name="push(foo)"><$mt:EntryTitle$></mt:SetVarBlock>
関数名(配列変数名)
という記述がfunction
モディファイアの代わりです。