Movable Typeのポップアップコメントにカスタムフィールドを表示する

Movable Typeのポップアップコメントにカスタムフィールドを表示する

Posted at April 12,2011 1:55 AM
Tag:[Comment, CustomField, MovableType]

Movable Typeのポップアップコメントにカスタムフィールドを表示するカスタマイズです。ご質問を頂きましたので本エントリーで情報展開します。

1.ポップアップコメントについて

Movable Type(現時点のバージョンは5.0x)はデフォルトでポップアップコメント(コメントフォームを別ウィンドウで表示)をサポートしていませんが、「Movable Type 5でコメント投稿フォームをポップアップする」でカスタマイズを紹介しています。

このカスタマイズを行えばコメントをポップアップ表示できます。

ポップアップコメント

本エントリーでは、このポップアップしたコメントフォームにコメントカスタムフィールドの内容を表示できるようにします。下の画面では「タイトル」「地域」というカスタムフィールドを表示しています。

ポップアップコメント

カスタマイズを行う前にコメントカスタムフィールドを作成しておいてください。

2.form要素の修正

まず、mt-comments-popup.cgiにあるform要素に赤色で示した2行を追加します。

…前略…
<input type="hidden" name="blog_url" value="$blog_url" />
<input type="hidden" name="cgi_path" value="$cgi_path" />
<input type="hidden" name="blog_id" value="ブログID" />
<input type="hidden" name="customfield_beacon" value="1" id="customfield_beacon" />
<div id="comments-open-data">
…後略…

「ブログID」の部分はポップアップコメントにしたいブログのブログIDを設定します。

次に、追加したいブログでインデックステンプレートを新規作成し、以下の内容を設定します。テンプレートはプレビューで表示された内容を利用するために使うだけで、テンプレートを保存する必要はありません。

  • テンプレート名:test
  • 出力ファイル名:text.txt
  • テンプレートの内容:以下
<mt:CommentCustomFields>
<mt:SetVarBlock name="custom_field_name"><$mt:CustomFieldName$></mt:SetVarBlock>
<mt:SetVarBlock name="field-content"><$mt:CustomFieldHTML$></mt:SetVarBlock>
<mt:SetVarBlock name="custom_field_id">profile_<$mt:CustomFieldName dirify="1"$></mt:SetVarBlock>
<$mt:Include module="フォームフィールド" id="$custom_field_id" class="" label="$custom_field_name"$>
</mt:CommentCustomFields>

設定後、プレビューを行います。プレビューに表示された内容がポップアップコメントに挿入する(X)HTMLマークアップになるので、この内容をマウスでコピーします。

プレビュー

コピーした内容をmt-comments-popup.cgiにあるform要素に貼り付けます。

…前略…
<div id="comments-open-text">
    <label for="comment-text">コメント</label>
    <textarea id="comment-text" name="text" rows="10" cols="50" onfocus="mtCommentFormOnFocus()"></textarea>
</div>
ここにコピーした内容を貼り付ける
<div id="comments-open-captcha"></div>
…後略…

3.スタイルの追加

mt-comments-popup.cgiにあるstyle要素に、以下の内容を追加します。

.field-top-label {
    margin-bottom: 0.75em;
}

これでポップアップコメントにカスタムフィールドが表示されれば完成です。

関連記事
zenback
人気エントリー
トラックバックURL


コメント

管理者様

お礼が遅れまして、誠に恐れ入ります。

コメントポップアップのカスタムフィールドの表示方法の記事、誠にありがとうございました。

参考にさせていただきます!

[1] Posted by t-yamamoto : April 18, 2011 6:02 PM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)