お知らせ

Movable Type 5.1 Webサイト製作ガイドVolume 22011年7月20日

Movable Type 5.1 Webサイト製作ガイドVolume 2」を発売しました。
前書「Movable Type 5 Webサイト製作ガイド Volume 2」をMovable Type 5.1対応に改訂しました。 「Movable Type 5.1 Webサイト製作ガイドVolume 1」の続編で、変数等の応用的な機能や、ウェブサイトやテーマなどのMovable Type 5の新機能についてしっかり解説した書籍です。
Movable TypeでWeb製作をされている方などにお勧めです。
PDFによる販売で、当サイトでのみ購入できます(書店では購入できません)

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

CommentSubscribeプラグインの導入と日本語化

| コメント(7) | トラックバック(0)

Movable Typeで、コメントに返信した際にそのことをコメント元の人にメールで通知するには、プラグインを使います。

Movable Type 3.xの頃はChad Everett氏が開発した「MT-Notifier」というプラグインを使いました。
かつては無償で使うことができましたが、Movable Type 3.3用のバージョン3.4.6以降は有償化されています。
また、Movable Type 4用のMT-Notifierもリリースされましたが、機能強化に伴って料金が値上げされています(個人利用は24$、商用利用は48$)。

このような中で、Robert Synnott氏が、MT-Notifierの機能を単純化したような「CommentSubscribe」というプラグインを発表しました。
こちらのプラグインは無償で利用することができます。
そこで、このプラグインの導入と日本語化の方法を紹介します。

1.CommentSubscribeプラグインのインストール

まず、CommentSubscribeプラグインの解説ページから、プラグインのZipファイルをダウンロードします。
zipファイルを解凍すると「CommentSubscribe」というフォルダができますので、それをMovable Typeの「plguins」ディレクトリにアップロードします。

2.GetQueryParamプラグインのインストール

この後で、コメント入力フォームに、返信メールを送信するかどうかのチェックボックスを追加します。
コメント確認ページでそのチェックボックスが正しく動作するようにするために、拙作のGetQueryParamプラグインをインストールします。

プラグインは以下からダウンロードすることができます。

GetQueryParam_1_11.zip

3.コメント入力フォームの書き換え

次に、「コメント入力フォーム」のテンプレートモジュールで、フォーム内に以下のようなタグを追加します。
コメント入力欄の後あたりに追加すると良いでしょう。

<div id="comment-form-subscribe">
    <label for="comment-subscribe"><input type="checkbox" id="comment-subscribe" name="subscribe" <MTIf name="comment_preview_template"><MTIfQueryParam name="subscribe" value=""><MTElse> checked="checked"</MTIfQueryParam></MTIf> />
    コメントに返信があったときにメールで通知</label>
</div>

タグの追加が終わったら、ブログ記事アーカイブを再構築します。

4.日本語化用辞書ファイルのアップロード

ここまでの状態で、コメント入力フォームで「コメントに返信があったときにメールで通知」のチェックボックスをオンにしてコメントを送信し、そのブログ記事に再度コメントをすると、チェックをオンにしたときのメールアドレスに通知メールが送信されるようになります。
ただ、通知メールは英文になります。

通知メールを日本語化するために、まず日本語化用辞書ファイルをアップロードします。
ファイルは以下からダウンロードすることができます。

CommentSubscribe-ja_1_00.zip

zipファイルを解凍すると、「CommentSubscribe」フォルダができます。
このフォルダを、Movable Typeの「plugins」ディレクトリにアップロードします。

5.CommentSubscribe.plファイルの書き換え

最後に、CommentSubscribeプラグインのCommentSubscribe.plファイルを書き換えて、日本語化の処理を追加し、アップロードし直します。
以下の各箇所を書き換えます。

・13行目
書き換え前

description => "Allows viewers to subscribe to recieve emails every time a comment is posted for a given entry.",

書き換え後

description => '<__trans phrase="Allows viewers to subscribe to recieve emails every time a comment is posted for a given entry.">',

・19~20行目
書き換え前

    plugin_link => "http://myblog.rsynnott.com/software/commentsubscribe.html",
});

書き換え後

    plugin_link => "http://myblog.rsynnott.com/software/commentsubscribe.html",
    l10n_class => 'CommentSubscribe::L10N',
});

・100~101行目
書き換え前

# load_tmpl loads it from the plugin's tmpl directory
my $body = $app->build_page($plugin->load_tmpl('commentsubscribe_notify.tmpl'), $param);

書き換え後

# load_tmpl loads it from the plugin's tmpl directory
my $tmpl = $plugin->load_tmpl('commentsubscribe_notify.tmpl');
$tmpl->text($plugin->translate_templatized($tmpl->text));
my $body = $app->build_page($tmpl, $param);

Facebook連携

当記事について「いいね」や「送信」を行っていただけると幸いです。


この記事についてウォールに投稿

トラックバック(0)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/1077.

コメント(スレッド2件,コメント7件)

コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。

No.1 Aiko : メール送信について

「CommentSubscribe」をインストールし、
コメントフォームへの記述も終わり何度かテスト
したのですが、どうしてもメールが送信されません。
管理者用へはメールは通知されるのですが、送信
されない原因というのは何かございますでしょうか?。
お忙しいところ申し訳ありませんが、お気づきの点、
アドバイス頂ければ幸いです。

No.2  : Re:メール送信について

>Aikoさん
こんにちは。

プラグインのソースを見た感じでは、返信のメールは、ブログ記事を書いたユーザーを送信元として送信されるようです。
ユーザーの設定で、ブログ記事のユーザーのメールアドレスが設定されているかどうかを確認してみてください。

また、サーバーの設定によっては、送信元のメールアドレスに制限があることもあります。
その場合は、ブログ記事のユーザーのメールアドレスを変えて、制限に引っ掛からないアドレスにすることが考えられます。

No.3 Aiko : 有難うございます

壱様。

お忙しいところRES有難うございます。
こちらのコメント(返信/引用して返信)もユーザーフレンドリーな設計で大変気に入っています。(私のブログにも付けたいですが中々思い通りにカスタマイズできません)

さい、ご指摘いただいたメアドの件ですが、MovableTypeの管理画面には登録してあり、コメントが書き込まれた際なども「お知らせメール」は届くようになっています。

コメントテストもログアウトして書き込んでみたり、メアドを変えて試したり、考えられるパターンで試したのですが、どうしても送信されないのです。(迷惑メールに振り分けられていないかも確認しましたし、フリーメール以外、ブロバイダーのメアドでも試しました)。

サーバーはNIFTY-Serveのラクカーンを利用していますが、SENDメールのアドレスが一般とはちょっと名前が違うだけで、他のCGIなどのフォームメールからも問題なく送信出来ていますので、特別癖があるサーバーではないと思います。

MovableTypeはコメントのRSSフィードが無い?ようなので、利用者にとって返信メールは大変便利だと思ったのですが、思った通りに動かないプラグインが何個かあって試行錯誤の毎日です。

ちなみに、こちらへも会員登録させていただいたのですが、登録後の返信メールがやはり届きませんでした。自分で設置したMovableTypeではメールが届くのに、他のMovableTypeのブログでは届かないというのも不思議な現象です。

No.4 Aiko : (無題)

こんにちはAIKOです。

先日メールが届かないとご報告しましたが、他の方に検証を手伝って頂いたら届くようになりました。というか私の勘違いで、これって”自分で書いたコメントにコメントしても送信されない仕様”なんですね?。

お騒がせして申し訳ありませんでした。

ただもう一点。ご説明では「日本語化用辞書ファイルのアップロード」もありましたが、それをしなくても日本語のまま送られてきました。文字化けではなく”日本語化”とはどの部分を差すのか分かりませんでしたが、上手くいきましたので取り急ぎご報告まで。有難うございました。

No.5 rm : コメントの通知メールの送信を止めたい場合は・・

こんにちわ。いつもブログを拝見させてもらっています。
ありがとうございます。
CommentSubscribeを利用させてもらい、きちんと通知メールが届くまではいったのですが、コメント通知メールに書いてある「コメントの通知メールの送信を止めたい場合は、以下のアドレスをクリックしてください。: 」のリンク先をクリックするとサーバーエラーになってしまい、きちんと処理されません。
あれこれパーミッションをさわってみたのですがうまくいきませんでした。
もし原因が分かるようでしたらご教授いただけないでしょうか?

No.6  : Re:コメントの通知メールの送信を止めたい場合は・・

>rmさん
こんにちは。

申し訳ありませんが、Internal Server Errorが起こる原因は、サーバーのログ等を見ないと断定することができません。

No.7 rm : Re:コメントの通知メールの送信を止めたい場合は・・

>壱さん
お返事ありがとうございました。
了解しました。またいろいろ試してみます!

ところでこのブログに書き込みするときも「コメントに返信があったときにメールで通知」を利用させてもらったのですが、来たメールには
「コメントの通知メールの送信を止めたい場合は、以下のアドレスをクリックしてください。: /mt/plugins/CommentSubscribe/commentsubscribe.cgi?・・・・・」
とあってURLにリンクされていませんでした。
ご存知のことかもしれませんが、いちお報告させていただきますね。

コメントする


Facebookでコメント

試験的にFacebookのコメントフォームを設置しました。