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

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

MTSetVarTemplate

最終更新日: 2017.10.04

このブロックタグで囲んだ内容を値にした変数を設定します。変数を呼び出すときは、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 new in mt4.1

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

配列変数が存在しない場合は指定された名前の配列変数を新しく作成します。このとき 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 new in mt4.1

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

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

<mt:SetVarTemplate name="bar" key="a"><$mt:EntryTitle$></mt:SetVarBlock>

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

<mt:SetVarTemplate name="bar{a}"><$mt:EntryTitle$></mt:SetVarBlock>

ハッシュ変数名{キー} という記述が key モディファイアの代わりです。

function new in mt4.1

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

  • 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 モディファイアの代わりです。

MTSetVarTemplate と関連のあるテンプレートタグ (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 ファンクションタグと同じ働きになります。