はまりました。
そもそもの発端は、前の記事に試しにコメントつけてみようとしたところ、
テンプレート「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が無かったんだろう。
原因を考えてもしかたがないのだけど……何とも後味の悪い決着となってしまいました。とほほ。
Movabletype3.33⇒4.25アップグレード
当ブログを含めた、私がメインで運営しているブログの管理を、Movabletype…
Movabletype3.33⇒4.25アップグレード
当ブログを含めた、私がメインで運営しているブログの管理を、Movabletype…
コメントの投稿でエラーが直った(プレビューは直っていない)
いつからかコメントができない状態でした。原因はレンタルサーバを変更したのにPAT…