MTでアーカイブテンプレートに設定される予約変数と条件分岐

Movable Type で、HTMLファイルに出力される中身を指定・変更するための変数について。

予約変数を利用し条件分岐をおこなうことで、MTではテンプレートの種類やアーカイブごとに出力結果を変えるなどのカスタマイズが可能になる。

出力対象先(ファイル)を一度に複数指定する変数や単独指定するものなど種類が豊富。

予約変数の種類については下記ホームページやPDFを参照。

アーカイブテンプレートに設定される予約変数

arcive_variable.pdf(この表に記載された変数はほんの一部。)
 (DL先URL http://www.movabletype.jp/documentation/files/arcive_variable.pdf)

 

【ホームページ画面】
ホームページ画面|MTでアーカイブテンプレートに設定される予約変数

 

例えば、次のように使うことで、「最近のブログ記事(ウィジェット)」の出力先を変更可能。

1
2
3
<mt:If name="main_index">
<$mt:Include widget="最近のブログ記事"$>
</mt:If>

この場合、「最近のブログ記事(ウィジェット)」は、main_index(メインページ)にのみ出力される。

1
2
3
<mt:If name="entry_archive">
<$mt:Include widget="最近のブログ記事"$>
</mt:If>

こうすると、「最近のブログ記事(ウィジェット)」は、entry_archive(個別のブログ記事)にのみ出力される。

 

条件分岐で行う効率的なテンプレート管理

予約変数の関わりで条件分岐についても。
次のウェブページで判りやすく説明されているので参照。

条件分岐で行う効率的なテンプレート管理 – テンプレートモジュール

 

【ホームページ画面】
ホームページ画面|MTで条件分岐で行う効率的なテンプレート管理

 

例えば、さらに条件分岐を指定することで、予約変数による出力先を2段階に分けることが簡単にできます。(ブロックタグ)

1
2
3
4
5
6
<mt:If name="main_index">
この文字は、main_index と判別されたテンプレートに有効。
<mt:Else>
この文字は、main_index 以外のテンプレートに有効。
</mt:Else>
</mt:If>

また、条件分岐は部分的に利用することもできます。

1
2
このテンプレートは main_index <mt:If name="main_index">ですね
<mt:Else>ではないですね</mt:Else></mt:If>。

なお、Movable Type のテンプレートタグには、大文字・小文字の区別はなく、「mt」の後に「 : 」を入れても構わない。

従って、次に挙げたMovable Typeのテンプレートタグは、すべて同じものとみなされます。(個人的には一番下を推奨。)

  • MTWEBSITENAME
  • MTWebsiteName
  • mtwebsitename
  • MT:WebsiteName
  • mt:WebsiteName
 

Tags: