« 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 : [ 編集 ]

関連記事

エントリータグ