MT4のよくあるエラー

2008年6月 6日 Posted by Priestly このエントリのはてなブックマーク数

Can't call method "entry_based" on an undefined value at lib/MT/Template/ContextHandlers.pm line 5742.

MT4のテンプレを自作していると一番悩まされるのはこのエラーではないでしょうか。
昨日も記事を書きましたがドキュメントなんて読まない私なりに解釈すると

「あってはならないMTタグがどっかにありますよ!」

ということではないかと思ってます。

最初にこのエラーに出会ったのはindexを再構築するときでした。
エラー文コピペしてもいい情報が得られず、エラー部分を特定するために片っ端からコメントアウトして裸にして調べて

結局アーカイブを表示するタグの入れ忘れでした。

二度目に出会ったのはコメント投稿結果画面です。
調べてみると同様にコメントプレビューと検索結果のページでエラーが表示されていました。

三つに共通するものか三つだけにないものが原因とわかりますよね。
まず私は共通するものに問題がないか元の素のテンプレートと見比べながらチェック。
ここで問題がなかったため
インデックスページと比較して

ヘッダーモジュールのIfタグ周辺が怪しいなとにらみつつ

結局
アーカイブページ名(のタグ) をIFで分けてインデックスと個別ページ以外の条件分岐Elseとして各ページに表示させていたのが問題でした。
つまりアーカイブ名が存在しないページでアーカイブ名を取得しようとしていたことに問題があったということになります。

解決策は <$MTGetVar name="page_title"$> でページタイトルを取得してしまえば無理にIfタグで条件分岐しなくていいことに気が付き差し替え

難解な文章になってしまいました。。


Category : MovableType
Comments [0] | TB [0] Tag:



TrackBackとLINKURL

このエントリーのトラックバックURL:
http://www.nonnet.net/mt/mt-tb.cgi/567

このエントリーのURL:
http://www.nonnet.net/archives/2008/06/06_1823.php
このエントリーのリンク(コピペ)してください:
MT4のよくあるエラー - NON

Comment Form
                 

画像の中に見える文字を入力してください。

     
あわせて読みたいブログパーツ

TAG CLOUD

エントリー・タグ