MovableType4.25の謎

Pocket

はまりました。
そもそもの発端は、前の記事に試しにコメントつけてみようとしたところ、

テンプレート「Comment Preview Template」の再構築中にエラーが発生しました: テンプレートタグMTIfCommentsAllowedでエラーが発生しました: テンプレートタグMTCommentFieldsでエラーが発生しました: MTCommentFieldsタグは利用できません。代わりにテンプレートモジュール「コメント入力フォーム」をインクルードしてください。

というエラーが出たこと。


要するに「古いテンプレートのタグは使えませんぜ」ということらしいので、早速言われたとおりに対応することに。
でも、「コメント入力フォーム」なるテンプレートはどこにもない……。
ということでググりまくったところ、ほぼどんぴしゃりな内容の記事がありました
対応方法をまとめると、
・「コメント入力フォーム」のテンプレートを作る
・mt.js を作る
・エントリーアーカイブとコメントプレビューのテンプレートで
 - mt.jsを読み込むように設定
 - コメント入力フォームを然るべき場所にインクルードする
てなことになるらしい。
(かなりはしょってるので詳細はリンク先参照のこと)
そんじゃまあ、作りましょう、ということでやってみたところ。
mt.jsは作成できました。
でも、テンプレートでmt-site.jsを読み込んでるところなんてないです……。
これまた、テンプレートがあまりに古すぎた(下手すればMT2.xx時代から使いっぱなし)ためかと思われたので、新しく<head>タグの中で読み込むように一行追加。ここまではOK。
さて、問題はコメント入力フォームのテンプレートを作ろうとしたときのこと。
テンプレートを初期化しようとしたところ、
「カスタムテンプレートと思われるためスキップしました」
は?
そもそも今まで存在していなかったテンプレートを、どうやってカスタマイズしたというの???
メッセージの内容は理解不能なものの、とにかくコメント入力フォームのテンプレートはどうやっても初期化されてくれない。これは何だ? 
調べてみたところ、どうやら初期化にはdefault_templatesの下にあるmtmlファイルが使われているとのこと。
コメント入力フォームのテンプレートに対応するファイルは「comment_form.mtml」だということで、そのファイルがあるかどうか確認してみたら……無い!?
まさか消したわけじゃなかろうなと、念のためにMT4.25のzipアーカイブを開いて調べてみても……やっぱり無い。
つまり、初期化に必要なオリジナルのテンプレートがdefault_templatesに存在しないためにカスタムテンプレートと間違われてしまったということらしい。
……これは困った。コメントを受け付けるにはおそらく必須のテンプレートであるはずなのに、MT4.25にはなぜか入っていない。なぜ??
悩んでいてもしかたがないので、またググり倒してコメント入力フォームのテンプレートファイルがどこかにないかと探しまくり。ようやく公開してくれている場所を見つけました。
これをコピーして、新規テンプレートの作成でフォームにペーストして保存。これでいけるはず。
記事を再構築して、おそるおそるコメントを入力して、投稿……をを、無事コメントが付けられた(嘆息)。
コメントフォームのデザインが多少崩れているけれど、とりあえず問題は解決できたということで。
にしても、どうも納得がいかない。どうしてcomment_form.mtmlが無かったんだろう。
原因を考えてもしかたがないのだけど……何とも後味の悪い決着となってしまいました。とほほ。

Pocket

MovableType4.25の謎” への3件のフィードバック

  1. コメントの投稿でエラーが直った(プレビューは直っていない)

    いつからかコメントができない状態でした。原因はレンタルサーバを変更したのにPAT…

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)