« Csidenetから「さくらインターネット」へ移行準備中(BlogPet) | メイン | Movable Type 4.1の「OpenID」認証 »
2008年4月23日
MovableType 4.1でのコメントフォームを更新[ Movable Type ]
MovableType 4.1でコメントしようとしたところ、コメントの確認で以下のエラーが発生しました。テンプレート「Comment Preview Template」の再構築中にエラーが発生しました: テンプレートタグMTIfCommentsAllowedでエラーが発生しました: テンプレートタグMTCommentFieldsでエラーが発生しました: MTCommentFieldsタグは利用できません。代わりにテンプレートモジュール「コメント入力フォーム」をインクルードしてください。
原因は、MovableType 4.1でテンプレートが大きく変わっているための様です。私は過去のテンプレートをそのまま引き継いで使っていましたが、道具眼日誌さんの以下の記事を参考に、コメントフォームを更新しました。合わせて、トラックバック関係も更新しました。
・MovableType3→4移行時のツボ~その2. コメントフォーム編
(1)テンプレートモジュール新規作成
以下のテンプレートモジュールを新規に作成します。管理画面からデザイン/テンプレート/テンプレートモジュール のページを開きます。「モジュールテンプレートを作成」をクリックし、以下のテンプレートの名前を入れて、中身は無しでそのまま保存します。アクションから「テンプレートの初期化」を選んで「GO」をクリックします。これで新規のテンプレートが作成されます。それぞれ同様にして、以下の名前の6つのテンプレートを作成します。
・コメント
・コメント入力フォーム
・コメント詳細
・トラックバック
・フッター
・ヘッダー
(2)システムテンプレート新規作成
同様の手順にて、以下の名前のシステムテンプレートを新規に作成します。
・コメントプレビュー
・コメント完了
(3)インデックステンプレート新規作成
同様の手順にて、以下の名前のインデックステンプレートを新規に作成します。
・JavaScript
(4)アーカイブテンプレート修正
上で作成したテンプレートを使ってコメントやトラックバックができる様に、現在使っている個別のエントリ用のテンプレートを修正します。私の場合は、以下の名前になっていました。
・Individual Entry Archive
【変更1】以下の修正前部分(量はかなり多いです)を削除し、修正後部分(2行)に書き換えます。・修正前
<MTEntryIfAllowComments>・修正後
この間にコメント関係のJavascriptが記述されている。
</MTEntryIfAllowComments>
<MTEntryIfAllowPings>
この間にトラックバック関係のJavascriptが記述されている。
<MTEntryIfAllowPings>
<$MTInclude module="トラックバック"$>
<$MTInclude module="コメント"$>
【変更2】
・<body$>タグに以下の属性を追加します。
<body class="<MTIf name="body_class"><$MTGetVar name="body_class"$> </MTIf><$MTGetVar name="page_layout" default="layout-wtt"$>"<MTIf name="body_onload"> onload="<$MTGetVar name="body_onload"$>"</MTIf>>
投稿者 hnakamur : 2008年4月23日 00:14 : [ 編集 ]