本文へジャンプ

Movable Type構築でつまづくポイント!? "コンテキスト"について。

Movable Typeでテンプレートタグをガシガシ書いて、さぁテストだ!
と、再構築を走らせるとエラーメッセージが...。

「MTEntryTitleをコンテキスト外で利用しようとしています。」

この「コンテキスト」というのは、直訳すると「文脈」。
ここでは「状況」的な意味でしょうか。

どこでも使えるMTタグもあれば、 状況によって使用できる場所が決まっているものもあります。

例えば、
記事タイトルを表示するファンクションタグ <$mt:EntryTitle$> は、
<mt:Entries> ブロックタグ内部 か 記事アーカイブテンプレートでしか使用できません。

それ以外の場所で使用すると、再構築の際に冒頭のエラーメッセージが表示されます。

ということで、テンプレートごとに使えるタグを整理してみました。

テンプレート別まとめ

テンプレート 単体で使用できるタグ
全体 mt:Website~、mt:Blog~、 mt:SetVarなど mt:TemplateNoteなど mt:Dateなど
インデックス ※全体的と共通
記事 mt:Entry~
ページ mt:Page~
アーカイブ:時系列 mt:Archive~
アーカイブ:カテゴリ mt:Archive~、mt:Category~
アーカイブ:ユーザー mt:Archive~、mt:Author~

テンプレート共通

mt:Website系mt:Blog系のファンクションタグ

  • 単体で使用できます。(ただし、ウェブサイト直下では mt:Blog系は使えません。)
  • 自分の所属するウェブサイト/ブログ以外の値を引っ張ってきたい場合は、ブロックタグで囲む必要があります。

変数系ファンクションタグ

mt:SetVarmt:Var などはどこでも単体で使用できます。

コメントアウト系

mt:TemplateNote など

グローバル系

mt:Date やらMT全体のタグ

インデックステンプレートの場合

基本的にブロックタグの内部でしかファンクションタグは使用できません。

記事アーカイブテンプレートの場合

mt:Entry系 のファンクションタグを単体で使用できます。
それ以外のタグは、ブロックタグで囲う必要があります。

ページアーカイブテンプレート の場合

mt:Page系 のファンクションタグを単体で使用できます。
それ以外のタグは、ブロックタグで囲う必要があります。

アーカイブテンプレート:時系列の場合

mt:Archive系 のファンクションタグを単体で使用できます。

アーカイブテンプレート:カテゴリの場合

mt:Archive系 および mt:Category系 のファンクションタグを単体で使用できます。

アーカイブテンプレート:ユーザーの場合

mt:Archive系 および mt:Author系 のファンクションタグを単体で使用できます。

その他

上記以外のタグは、基本的にブロックタグ内でしか動作しないものですね。

まとめ

タグを使える場所、使えない場所が分かればテンプレート作成もスムーズに行えると思います。
あと、タグを使う場所によって、出力される内容も絞り込まれて変わりますので、意図しない値が出てきた場合はモディファイアで調整してみてくださいね。

Recent Entries
MD EVENT REPORT
What's Hot?