【Movable Type】undefined valueエラーに関して

謎のプリン語る。
プログラミングの役立つ、エンジニア技術情報とか、どうでもいい雑談とか書いてます。
一人書く人増えました。

【Movable Type】undefined valueエラーに関して

【Movable Type】undefined valueエラーに関して - サムネイル

※この記事は6年以上前の記事です。
現在は状況が異なる可能性がありますのでご注意ください。

どうも、まぁまぁ給料貰っておきながら、ネトゲでやばくなってるみやびです。
もう、無駄遣いしすぎ問題。

さて、表記の件なんだけど、ひょんなことでMovable Type(以下MT)をアップデートしたら、ある子ブログのインデックステンプレートの再構築で、

"Can't call method "entry_based" on an undefined value"

ってエラーが出るようになった。

今まで出なかったのに、なんぞこれ?って調べたが、さすがMT、全然情報出てこないのね。
(MT7から、ちょいちょいUI英語になったから余計に)
その中でなんとかエントリーを見つけ出した。

【Movable Type】アップグレード時に発生したエラーとその解決

どうやら、

<MTCategories>

がダメらしい。
ほんとかよ、と思いつつ、書かれてる通りにやってみるも、案の定変わらず・・・。

と、もっと調べてみると、別のエントリーでは、

<$mt:ArchiveTitle$>

が原因だよ!
と出てきた。

「・・・・・・」

てきとうかよ!!!!!!!!!

そうこのエラー、惑わされてはいけない。
とにかくMT上で値が拾えなかった時に出るエラー
なのだ。
確かに、エラー文をよく見れば、そう書いてるとも見えなくない。
"entry_based"に惑わされず、"undefined value"を見るべきだった。

まぁ、正しい記事が見つからないのもしょうがない。
このMovable TypeというCMS、再構築時のエラーで、どこでどの行がとか詳しく出てこない。
エラーには死ぬほど不親切なのだ。

当サイトでのエラーは、探しに探して、やっと見つけたのは、

<MTSetVarBlock name="hoge"><$mt:BlogID$></MTSetVarBlock>

であった。
ブログIDがないとか言ってるのだ。
んなわけあるかい!って思いましたが、下記に修正。

<$MTSetVar name="hoge" value="$mt:BlogID"$>

ようやっと再構築できた・・・。

ということで、このエラーが出たら、
テンプレート内、インクルードしているテンプレートなど洗いざらい探すしかない。
コツはというと、洗いざらい一箇所ずつ消して、再構築して、の繰り返ししかない・・・。
(コーディングのエラー探しと同じやり方ね)

もうね、MTさんよ、
ほんとエラーに対して親切になれ!ファイルと行数とか出せよ!!!

他のトラブルもあって、寝たの4時過ぎだよ!
(↑それはおまえが悪い)

他のトラブルってのも、MT上の話なので、それはまた別のエントリーで。

眠いわ。

ラグナロクオンライン - メイン

著者

みやびプリン 職業:フロントエンドエンジニア
基本はイラストレイター(自称)だが、
本職は札幌市のフロントエンドエンジニア。
フロントエンドだけではなく、各種プログラミング言語に精通していると自負している。
HTML、CSSはもちろんのこと、JavaScript、TypeScript、PHP、Perl、Python、C#、Kotlin、Swift、Objective-Cなど多くの多くの言語に精通している他、
Movable Type、WordPressなど各種CMS、React.js、Angularなどフロントエンドフレームワークも扱える。
最近はUnityによる3Dコンテンツにも手を出している。

トラックバック(0)

トラックバックURL:

コメントする

ページトップへ戻る