MTにメールフォームを設置してみる

連絡先が非常に判り辛い事に改めて気付いたので、メールフォームを設置してみる事にしました。既にAjax仕様タイプが出てますが、基本的なところから。

メールフォーム用プラグインのDL・UL

The blog of H.Fujimoto:メールフォーム作成用プラグイン(その1) [The blog of H.Fujimoto]

上記よりプラグインをDLしたら、MTルート/plugins の中にディレクトリごとULします。

プラグインの設定

ブログの設定→プラグイン タブと進んで、MailFormプラグインの設定を開き、送信先と件名を入力して閉じます。

送信フォーム用のテンプレートを作成

  • テンプレート名・・・Contact
  • 出力・・・contact/index.php(html)
  • 再構築チェック・・・外す
  • コード・・・既存のテンプレートを利用すると簡単です

私はMTのコメントフォーム部に習って、LabelとAccesskeyをつけてみました。
この辺りは個人の装飾次第なので、一応プラグイン作者さんのコードを書いておきます。

<form action="<$MTCGIPath$>plugins/MailForm/mt-mail-form.cgi" method="post">
<p>お名前<br /><input type="text" size="30" name="mail_author" /></p>
<p>メールアドレス<br /><input type="text" size="30" name="mail_email" /></p>
<p>タイトル<br /><input type="text" size="30" name="mail_subject" /></p>
<p>本文<br /><textarea rows="10" cols="50" name="mail_text"></textarea></p>
<input type="submit" name="mail_preview" value="確認" />
<input type="submit" name="mail_post" value="送信" />
<input type="hidden" name="mail_blog_id" value="<$MTBlogID$>" />
</form>

また、名前とメールアドレスの入力が無い場合はエラーが発生するので、「お名前とメールアドレス入力は必須」の旨を記述しておくと良いです。

プレビューテンプレート「モジュール」の作成

テンプレート→モジュール タブ と進んで「mail_preview」という名前で送信確認画面用のテンプレートを作成します。
再度メールフォームの表示と、記入済みの部分を表示させるようにすると良いです。

  • MTMailPreviewAuthor・・・メールの送信者の名前
  • MTMailPreviewEMail・・・メールの送信者のメールアドレス
  • MTMailPreviewSubject・・・メールの件名
  • MTMailPreviewBody・・・メールの本文

こちらも、作者さんが紹介している例をそのまま載せておきます。

<form action="<$MTCGIPath$>plugins/MailForm/mt-mail-form.cgi" method="post">
<p>お名前<br /><input type="text" size="30" name="mail_author" value="<$MTMailPreviewAuthor$>" /></p>
<p>メールアドレス<br /><input type="text" size="30" name="mail_email" value="<$MTMailPreviewEMail$>" /></p>
<p>タイトル<br /><input type="text" size="30" name="mail_subject" value="<$MTMailPreviewSubject$>" /></p>
<p>本文<br /><textarea rows="10" cols="50" name="mail_text"><$MTMailPreviewBody$></textarea></p>
<input type="submit" name="mail_preview" value="確認" />
<input type="submit" name="mail_post" value="送信" />
<input type="hidden" name="mail_blog_id" value="<$MTBlogID$>" />
</form>

送信完了テンプレート「モジュール」の作成

テンプレート→モジュール タブ と進んで「mail_post」という名前で送信確認画面用のテンプレートを作成します。
お礼を一言添えて。

エラー用のテンプレート「モジュール」の作成

何も記入しないまま「送信ボタン」を押すと
「Page Template mail_error load error」と出るので、この画面も用意してみます。
テンプレート→モジュール タブ と進んで「mail_error」という名前で送信エラー時に表示される画面のテンプレートを作成します。

再度メールフォームへのリンクの案内をしておくと良いです。

あとがき

確かMT3.2の時に、同じようにメールフォームを設置しようとして失敗したような記憶があるようなないような。。。今回は特につまづく事もなく、しっかりと設置する事が出来ました。
テスト送信も行ってみたけどきちんと稼動してる模様です。

[参考記事]

The blog of H.Fujimoto:メールフォーム作成用プラグイン(その1) [The blog of H.Fujimoto]

2007/01/15 22:16:22 追記:

The blog of H.Fujimoto:メールフォーム作成用プラグイン(その5) [The blog of H.Fujimoto]

「エラー用のテンプレート」についての解説もなさってました。気付きませんでした。。。
上記リンク先を確認すると、エラーの原因となったメッセージを出力出来るようです。

<p><$MTErrorMessage$></p>

エラー用テンプレートに、上記一文を加えておくと良いみたいです。

▲ to Top

トラックバック(0)

▲ to Top