MTIncludeBlock
MTInclude ファンクションタグと同じくテンプレートモジュールを読み込みます。違いは、読み込むテンプレートモジュールの所定の箇所に、MTIncludeBlock ブロックタグ内に記述した内容を差し込める点です。
テンプレートモジュールを読み込む際に、そのテンプレートモジュール内の一部の内容だけ読み込み元で指定したい場合に使用します。
使い方
<mt:IncludeBlock module="banner">
MovableType.net へようこそ!
</mt:IncludeBlock>
上記の MTIncludeBlock ブロックタグを利用すると、「banner」テンプレートモジュールを読み込むという指定と、読み込んだテンプレート内の変数に当てはめる内容を同時に指定できます。具体的に、「banner」テンプレートモジュールの内容を下記とします。
<h1><$mt:Var name="contents"$></h1>
<div class="asset-content entry-content" itemprop="articleBody">
<p>MovableType.net は、安全で効率的なウェブサイト運用を可能にする CMS プラットフォームです。</p>
</div>
MTIncludeBlock ブロックタグで囲んだ内容は、contents 変数に格納されます。
読み込まれた banner テンプレートモジュールの中に記述された <$mt:Var name="contents"$> には、contents 変数の内容が展開されます。
ここでは、<$mt:Var name="contents"$> の部分に、Movable Type へようこそ! が差し込まれるため、最終的な出力内容は以下になります。
<h1>
MovableType.net へようこそ!
</h1>
<div class="asset-content entry-content" itemprop="articleBody">
<p>MovableType.net は、安全で効率的なウェブサイト運用を可能にする CMS プラットフォームです。</p>
</div>
初期状態では、MTIncludeBlock ブロックタグで囲んだ内容は、contents 変数に格納されます。この変数名は var モディファイアで変更できます。
MTIncludeBlock ブロックタグ内にテンプレートタグを記述することもできますが、インクルードするテンプレートモジュール内で実際に変数が利用されるまで、テンプレートタグは評価されません。
モディファイア
- var="variable_foo"
-
MTIncludeBlock ブロックタグで囲んだ内容を、指定した名前の変数に代入します。変数は読み込むテンプレートモジュールで参照できます。指定しない場合の初期変数名は contents です。
<mt:IncludeBlock module="banner" var="foo">Movable Type へようこそ!</mt:IncludeBlock>
MTInclude ファンクションタグで以下のように記述した場合と同じ動作をします。
<$mt:Include module="banner" foo="Movable Type へようこそ!"$>
■banner テンプレートモジュールの内容<h1><$mt:Var name="foo"$></h1> <div class="asset-content entry-content" itemprop="articleBody"> <p>MovableType.net は、安全で効率的なウェブサイト運用を可能にする CMS プラットフォームです。</p> </div>
- module="module_foo"
-
テンプレートモジュールを読み込みます。
- blog_id="ID | 識別子"
-
module モディファイアを指定してテンプレートモジュールを読み込む場合、自ブログ以外のブログからモジュールを読み込むことが可能です。他のブログから読み込む場合に、テンプレートモジュールが含まれているブログの ID を指定します。
- parent="0 | 1"
-
値に 1 を指定すると、ブログの親ウェブサイトにあるテンプレートモジュールをインクルードします。親ウェブサイトにモジュールが無い場合は、何もしません(グローバルテンプレートのモジュールはインクルードしません)。初期値は 0 です。
- variable_foo="value"
-
読み込むテンプレートモジュールで参照可能な変数を設定します。
例えば以下のサンプルでは、「フォームフィールド」テンプレート内で id、class、label が定義済みの変数として使用できます。id 変数の値には entry-body、class 変数の値は空、label 変数の値には 本文 が格納されます。
<mt:IncludeBlock module="フォームフィールド" id="entry-body" class="" label="本文" var="foo">Movable Type へようこそ!</mt:IncludeBlock>