mtde.info

Movable Type Developers Express

コンテキストとは

2008年3月 3日 22:12 | Writer: apstar | 記事本文

テンプレートのカスタマイズを行い、再構築したところ次のようなエラーが表示されることがあります。これはコンテキストを無視したテンプレートタグの記述が原因です。

templatedoc_130_01.png

このエラーは、MTEntryTitleというテンプレートタグは、MTEntriesブロックタグの中、あるいはエントリページのテンプレート(ブログ記事テンプレート)以外の場所で、いきなりMTEntryTitleテンプレートタグを用いた場合などによく目にします。

ファンクションタグに注意しましょう。ブロックタグ MTEntries 中にファンクションタグ MTEntryTitle を書けば、(たいていは)どこへ書いてもエラーにはなりません。これは、MTEntriesで得られる「エントリの集団」の中からMTEntryTitleで得られる「エントリのひとつ」は、必ず見つかるからです。

また、ブログ記事テンプレート中でいきなりMTEntryTitleファンクションタグでエントリをひとつ見つけようとした場合は、そのテンプレートで生成されるそのものがエントリであるために、EntryTitleは必ずひとつ見つかります。よって、エラーとはなりません。

これに対し、メインページ中やブログ記事リストにいきなりMTEntryTitleファンクションタグを書いてエントリをひとつ見つけようとした場合は、コンテキストエラーとなります。Movable Typeは、メインページやブログ記事リストのテンプレート中でMTEntryTitleテンプレートタグでエントリ名を要求されても、それがどのエントリであるかを判断できないからです。

テンプレート解説

2008 mtde.info