MailForm

対応バージョン:MovableType7、MovableType8

「メールフォーム共通部分」テンプレートの作成

更新日:2024.04.11

メールフォームプラグインでは、メールフォームのテンプレートをカスタマイズすることで、さまざまなメールフォームを作ることができます。
「メールフォーム共通部分」のテンプレートを作る方法を解説します。

種類のテンプレートを組み合わせる

メールフォームプラグインでは、以下の表のように、7種類のテンプレートを組み合わせて動作するようになっています。

テンプレート 内容
メールフォーム ユーザーが最初にアクセスするメールフォームのページのテンプレートです。
送信確認 メールフォームで「確認」ボタンがクリックされたときに表示するページのテンプレートです。
送信エラー メール送信の際にエラーがあったときに表示するページのテンプレートです。
送信完了 メールの送信が完了したときに表示するページのテンプレートです。
メールフォーム共通部分 メールフォーム/送信確認/送信エラーのテンプレートで共通な、メールフォームの本体部分(form要素の部分)のテンプレートです。
メール本文 自分宛に送信されるメールの本文のテンプレートです。
返信メール メールを送信してきた人に自動返信する際のメールの文章のテンプレートです。

上記のうち、メールフォームテンプレートは、インデックステンプレートとして作成し、再構築してファイルに出力するようにします。
残りの6つのテンプレートは、テンプレートモジュールとして作成します。また、CGIによって動的に処理され、ファイルには出力されません。

「メールフォーム共通部分」テンプレートの作成

「メールフォーム共通部分」テンプレートは、メールフォームの中心である、form要素の部分を入れるモジュールです。
このモジュールを、メールフォーム/送信確認/送信エラーの各テンプレートに組み込んで、メールフォームのページを表示するという仕組みを取っています。

1.テンプレートの名前の付け方

「メールフォーム共通部分」のテンプレートは、テンプレートモジュールとして作ります。
モジュール名をつける際には、その先頭に「mail_common:」という接頭語をつける必要があります。
例えば、「mail_common:共通部分」のような名前をつけます。

2.formタグの書き方

formタグの書き方は以下のようになります。

<form method="post" action="<$MTCGIPath$>plugins/MailForm/mt-mail-form.cgi">

3.form内の各要素の書き方

送信者名/送信者のメールアドレス/件名はinputタグ、本文はtextareaタグで作ります。
また、「送信」と「確認」の2つのボタンも作ります。これらもinputタグで作ります。
inputタグとtextareaタグは、name属性を指定する必要があります。属性のつけ方は以下の表の通りです。

項目 name属性
送信者名 mail_author
メールアドレス mail_email
件名 mail_subject
本文 mail_body
送信ボタン mail_post
確認ボタン mail_preview

送信者名/メールアドレス/件名の各フィールドでは、value属性を以下のように指定します。

項目 name属性
送信者名 <$MTMailPreviewAuthor$>
メールアドレス <$MTMailPreviewEMail$>
件名 <$MTMailPreviewSubject$>

また、本文のtextareaタグでは、以下のように、開始タグと終了タグの間に「<$MTMailPreviewBody$>」のタグを入れます。

<textarea id="mail_text" name="mail_text"><$MTMailPreviewBody$></textarea>

さらに、メールフォームの部分には、以下のタグも入れます。

<input type="hidden" name="mail_blog_id" id="mail_blog_id" value="<$MTBlogID$>" />

「メールフォーム共通部分」テンプレートのサンプルファイル

MTのディレクトリ→「plugins」ディレクトリ→「MailForm」ディレクトリ→「template_sets」ディレクトリの中に、サンプルのテンプレートセット(3種類)のディレクトリがあります。
MT7/8用に最低限の要素を実装したテンプレートセット(Mont-blanc)です。

ディレクトリは下記3つになります。
・「mont-blanc」
・「mont-blanc_ajax」
・「mont-blanc_full」


それらのディレクトリの中の「mail_common.mtml」ファイルが、「メールフォーム共通部分」テンプレートの基本的なサンプルです。

前へ
プラグインTOP
次へ