MTEntriesコンテナタグの外部で使っていませんか?

先日Movable Type 4.123からMovable Type 4.261へアップデートを行った際、アップデート後一番焦ったのが「MTEntriesコンテナタグの外部で使っていませんか?」

Movable Type 4.123を使用していた際には、この様なエラーが出た試しはなかったので最初は何が原因かわからず慌てましたが、Google先生に聞いてみると、まずは本家本元のmovabletype.jpのQ&Aに問題解決方法が掲載されています。

しかし、そもそもコンテキストとは、何なのかという問題が解決されないなと更に問題解決方法を探していると

Movable Type の再構築エラー(コンテキスト外での利用)を解析方法

と、言ういつも色々教えていただいている小粋空間さんのサイトへ行き着くこととなる。

具体的なエラーメッセージは下記のようなものだったが...

公開中にエラーが発生しました: テンプレート「hogehogeA」の再構築中にエラーが発生しました: <mtInclude>タグでエラーがありました: error in module ヘッダー: テンプレート「ヘッダー」の再構築中にエラーが発生しました: <mtIf>タグでエラーがありました: <mtElse>タグでエラーがありました: <mtEntryTitle>タグでエラーがありました: mtEntryTitleをコンテキスト外で利用しようとしています。MTEntriesコンテナタグの外部で使っていませんか?

公開中にエラーが発生しました: テンプレート「hogehogeB」の再構築中にエラーが発生しました: <mtInclude>タグでエラーがありました: error in module ヘッダー: テンプレート「ヘッダー」の再構築中にエラーが発生しました: <mtIf>タグでエラーがありました: <mtElse>タグでエラーがありました: <mtEntryTitle>タグでエラーがありました: mtEntryTitleをコンテキスト外で利用しようとしています。MTEntriesコンテナタグの外部で使っていませんか?

大切なポイントは、私的な解釈としては下記の様なものだった。

まずは、コンテキストの意味
→コンテキストとは人によって解釈が異なりますが、ここでは、「Movable Type のテンプレートの、ある場所における、特定の情報を扱える状態」と定義します。

そして、再構築エラーの解析方法の原則
→Movable Type の再構築時のエラーメッセージは、先頭から順番にメッセージ内容を辿っていけば、原因が分かるようになっています。

最後にエラー解析のポイント
→テンプレートモジュールやウィジェットを使っていると、エラーメッセージが長くなる場合がありますが、エラーメッセージの長さによらず、

1. 元のテンプレート(モジュールやウィジェットではなく、インデックステンプレートやアーカイブテンプレート)
2. エラーになっているテンプレートタグ(モジュールやウィジェットに記述されている場合もある)
3. エラー種別(コンテキスト外での利用など)

小粋空間さん
Movable Type の再構築エラー(コンテキスト外での利用)を解析方法のエントリより抜粋

上記の各項目を念頭に修正を試みたことにより問題は無事解決した。

この記事について

このページは、kingharvest-infoが2009年10月 6日 19:50に書いた記事です。

ひとつ前の記事は「Movable Type 5の準備を行う」です。

次の記事は「Movable Type 5 Beta 3をインストール」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。