Home > MTプラグイン > メールフォーム を mt.Vicuna に対応させる - その2

メールフォーム を mt.Vicuna に対応させる - その2

先の記事で メールフォームプラグインVer2.10 のmt.Vicuna テンプレートを使用しているサイトへの導入の方法をご紹介しましたが サンプルで標準に添付されているものは Movable Typeの標準テンプレートと小粋空間のテンプレート用です。

その他のテンプレートをお使いの方は お使いのテンプレート用に修正する必要があります。このサイトで使っている mt.Vicuna テンプレート を題材にその変更方法をご紹介いたします。

メールフォーム Ver2.10インストール後のテンプレート一覧

メールフォームプラグイン Ver2.10をインストールした後には以下のテンプレートが追加されています。

メールフォームはインデックステンプレートとして追加される

mail_form:メールフォーム   mailform.html

ユーザが最初にアクセスするメールフォームのテンプレートです
mailform.htmlとして出力されます。

以下の物はテンプレートモジュールとして追加される

mail_common:メールフォーム共通部分

メールフォーム/送信確認/送信エラー の各ページで共通に使用されるメールフォーム部分です。

以下のモジュールは CGIによって動的に処理作成される為、ファイルには出力されません。

    • mail_error:送信エラー
    • mail_preview:送信確認
    • mail_post:送信完了
    • mail_body:メール本文
    • mail_reply:返信メール

mt.Vicuna テンプレートに対応させる為、修正の必要な物

メールフォームプラグインVer2.10では 上記のように7種類のテンプレートの組み合わせで動作するようになっていますが mt.Vicuna テンプレートで利用する為に修正の必要な物は以下のとおりです。

    • mail_form:メールフォーム   mailform.html
    • mail_error:送信エラー
    • mail_preview:送信確認
    • mail_post:送信完了

mail_common:メールフォーム共通部分 はそのまま使用する

このテンプレートを変更する事により メールフォームをカスタマイズする事ができます。今回は mt.Vicuna テンプレートに対応させるのが目的ですからこのテンプレートの変更は行いません。

mail_body:メール本文 はそのまま使用する

mail_reply:返信メール はそのまま使用する

上記2つのテンプレートも 各々自分宛に送信される「メール本文」と自動返信する際のメール文章のテンプレートですので今回はディフォルトのまま使います。

mail_form:メールフォーム を mt.Vicuna 用にカスタマイズする

mt.Vicuna テンプレートに対応させる為 最初に mail_form:メールフォーム テンプレートをカスタマイズします。

メインページ テンプレートを利用して作成

mail_form:メールフォームは ユーザが最初にメールフォームにアクセスする為 " mailform.html" として出力させる為インデックステンプレートとしていますので mt.Vicuna テンプレートの "メインページ(index.html) "をカスタマイズして作成します。

mt.Vicuna テンプレートの main_index.mhtml 中身を変更

mt.Vicuna テンプレートを解凍して 中から main_index.mhtmlを取り出しテキストエディター(秀丸等、Windowsのメモ帳でも可)で修正します。

2行目の <MTSetVar name="tempName"の値を変更
変更前
<MTSetVar name="tempName" value="index_main">
変更後
<MTSetVar name="tempName" value="mailForm">
3行目の <MTSetVarBlock name="page_title">の値を変更

ここではページタイトルを "お問合せ"としていますがタイトル名は任意です。

変更前
<MTSetVarBlock name="page_title"><MTBlogName encode_html="1"$>
変更後
<MTSetVarBlock name="page_title">:お問合せ</MTSetVarBlock>
<>/dl>
18行目から21行目までを削除して メールフォーム共通部分を入れます。

18行目の<MTEntries>から 21行目の</MTEntries>を削除して そこに以下を挿入します。

 <div>
     <h2>メールの送信</h2>
 <$MTIncludeMailFormCommon$>
 </div>

mail_form:メールフォーム の 中身を入れ替える

管理画面から インデックステンプレートの " mail_form:メールフォーム " を開き 中身を全て削除して 今ほどカスタマイズした mt.Vicuna テンプレート用の " mail_form:メールフォーム "の中身に差し替えます。

 

mail_error:送信エラー を mt.Vicuna 用にカスタマイズする


続いてmt.Vicuna テンプレートに対応させる為  " mail_error:送信エラー " テンプレートをカスタマイズします。

こちらもメインページ テンプレートを利用して作成

mail_error:送信エラー は 送信エラーが発生した時にユーザがエラーを修正してメールを再送信してもらう為に表示するページです。CGIで動的に作成される為 モジュールテンプレートとして保存されています。
こちらも mt.Vicuna テンプレートの "メインページ(index.html) "をカスタマイズして作成します。

mt.Vicuna テンプレートの main_index.mhtml 中身を変更

mt.Vicuna テンプレートを解凍して 中から main_index.mhtmlを取り出しテキストエディター(秀丸等、Windowsのメモ帳でも可)で修正します。

2行目の <MTSetVar name="tempName"の値を変更
変更前
<MTSetVar name="tempName" value="index_main">
変更後
<MTSetVar name="tempName" value="mailFormError">
3行目の <MTSetVarBlock name="page_title">の値を変更

ここではページタイトルを "メール送信エラー"としていますがタイトル名は任意です。

変更前
<MTSetVarBlock name="page_title"><MTBlogName encode_html="1"$>
変更後
<MTSetVarBlock name="page_title">:メール送信エラー</MTSetVarBlock>
エラーメッセージ、メールフォーム共通部分を入れます。

18行目の<MTEntries>から 21行目の</MTEntries>を削除して そこに以下を挿入します。

 <div>
 <h2>メール送信エラー</h2>
     <div>
         <p>以下のエラーが発生しました。<br />メールを修正して再度送信してください。</p>
         <blockquote><p><$MTErrorMessage$></p></blockquote>
     </div>

 <h2>メールフォーム</h2>
 <$MTIncludeMailFormCommon$>
 </div>

mail_error:送信エラー の 中身を入れ替える

管理画面から テンプレートモジュールの " mail_error:送信エラー " を開き 中身を全て削除して 今ほどカスタマイズした mt.Vicuna テンプレート用の " mail_error:送信エラー "の中身に差し替えます。

mail_preview:送信確認 を mt.Vicuna 用にカスタマイズする

続いてmt.Vicuna テンプレートに対応させる為  " mail_preview:送信確認 " テンプレートをカスタマイズします。

こちらもメインページ テンプレートを利用して作成

mail_preview:送信確認 は 作成したメッセージを送信前にユーザが内容を確認してからメールを送信してもらう為に表示するページです。CGIで動的に作成される為 モジュール店プレートとして保存されています。
こちらも mt.Vicuna テンプレートの "メインページ(index.html) "をカスタマイズして作成します。

mt.Vicuna テンプレートの main_index.mhtml 中身を変更

mt.Vicuna テンプレートを解凍して 中から main_index.mhtmlを取り出しテキストエディター(秀丸等、Windowsのメモ帳でも可)で修正します。

2行目の <MTSetVar name="tempName"の値を変更
変更前
<MTSetVar name="tempName" value="index_main">
変更後
<MTSetVar name="tempName" value="mailFormPreview">
3行目の <MTSetVarBlock name="page_title">の値を変更

ここではページタイトルを "メール送信エラー"としていますがタイトル名は任意です。

変更前
<MTSetVarBlock name="page_title"><MTBlogName encode_html="1"$>
変更後
<MTSetVarBlock name="page_title">:メールの確認</MTSetVarBlock>
プレビュー、メールフォーム共通部分等を入れます。

18行目の<MTEntries>から 21行目の</MTEntries>を削除して そこに以下を挿入します。

 <div>
 <h2>メールの確認</h2>
     <div>
         <p>以下の内容でメールを送信します。<br />内容を修正する場合は、この後にあるメールフォームで修正してください。</p>
         <p>名前:<br /><$MTMailPreviewAuthor$></p>
         <p>メールアドレス:<br /><$MTMailPreviewEMail$></p>
         <p>題名:<br /><$MTMailPreviewSubject$></p>
         <p>本文:<br /><$MTMailPreviewBody convert_breaks="1"$></p>
     </div>
 
 <h2>メールフォーム</h2>
 <$MTIncludeMailFormCommon$>
 </div>

mail_preview:送信確認 の 中身を入れ替える

管理画面から テンプレートモジュールの " mail_preview:送信確認 " を開き 中身を全て削除して 今ほどカスタマイズした mt.Vicuna テンプレート用の " mail_preview:送信確認 "の中身に差し替えます。

 

mail_post:送信完了 を mt.Vicuna 用にカスタマイズする

続いて " mail_post:送信完了 " テンプレートをカスタマイズします。

こちらもメインページ テンプレートを利用して作成

mail_post:送信完了 は ユーザにメッセージの送信完了を通知する為に表示するページです。CGIで動的に作成される為 モジュール店プレートとして保存されています。
こちらも mt.Vicuna テンプレートの "メインページ(index.html) "をカスタマイズして作成します。

mt.Vicuna テンプレートの main_index.mhtml 中身を変更

mt.Vicuna テンプレートを解凍して 中から main_index.mhtmlを取り出しテキストエディター(秀丸等、Windowsのメモ帳でも可)で修正します。

2行目の <MTSetVar name="tempName"の値を変更
変更前
<MTSetVar name="tempName" value="index_main">
変更後
<MTSetVar name="tempName" value="mailFormPosted">
3行目の <MTSetVarBlock name="page_title">の値を変更

ここではページタイトルを "メール送信完了"としていますがタイトル名は任意です。

変更前
<MTSetVarBlock name="page_title"><MTBlogName encode_html="1"$>
変更後
<MTSetVarBlock name="page_title">:メール送信完了</MTSetVarBlock>
送信完了通知部分を入れます。

18行目の<MTEntries>から 21行目の</MTEntries>を削除して そこに以下を挿入します。

 <div>
   <h2>メール送信完了</h2>
   <p><$MTMailPreviewAuthor$>様、メールを送信いただき、ありがとうございました。</p>
 </div>

mail_post:送信完了 の 中身を入れ替える

管理画面から テンプレートモジュールの " mail_post:送信完了 " を開き 中身を全て削除して 今ほどカスタマイズした mt.Vicuna テンプレート用の " mail_post:送信完了 "の中身に差し替えます。

 

メールフォームプラグイン Ver2.10 for mt.Vicuna の動作確認

以上で全ての作業が完了です。

これで メールフォームプラグイン Ver2.10 が mt.Vicuna テンプレートに対応しました。
Movable Type を再構築して " mail_form:メールフォーム " テンプレートより mailform.html が出力されている事を確認します。

http://www.example.com/mailform.html にアクセスして メールフォームプラグイン Ver2.10 が正常に動作する事を確認します。

 

まだまだ 最終作業が残っています

これまでの作業で メールフォームプラグイン Ver2.10 を mt.Vicuna の テンプレートへの対応作業は終了ですが このままでは サイト内のページから メールフォームページへのリンクが無いため ユーザは 問合せページにアクセスできません。

次回は、作成した メールフォームページへのリンクを グローバルナビゲーションページに リンクする方法をご紹介いたします。

 

Comments:3

Kazu 2009年7月26日 06:55

こんにちは、
MT初心者で、四苦八苦しながらVicunaをベースにカスタマイズをしています。
ご教授いただいているとおりにトライしていますが、下記のエラーがでてしまいます。どこが原因なのでしょうか?
>>テンプレート「mail_form:メールフォーム」の再構築中にエラーが発生しました: <mtIncludeMailFormCommon>タグでエラー>>がありました: メールフォームの設定を読み込むのに失敗しました

Kazu 2009年7月26日 07:44

すいません、自己解決いたしました。MTSetVar タグを挿入することでうまくいったようです。次、グローバルナビゲーションに挑戦してみます。
今後もyろしくお願いします。

Kazu 2009年8月 1日 16:18

たびたび、おさわがせいたします。
メールフォームの設定で、記入した概要はの読み込み変数は、お分かりになるでしょうか?MailFormDescription などと、推測で書いてみますが、エラーで帰ってきます。通常このような、プラグインのスペックはどこに、記述されているものなのでしょう?MT初心者なものですので、よろしくおねがいいたします。

Trackbacks:0

TrackBack URL for this entry
http://www.googrekas.com/mt/mt-tb.cgi/28
Listed below are links to weblogs that reference
メールフォーム を mt.Vicuna に対応させる - その2 from アフィリエイトで稼ぐためのサーバ構築スキル

Home > MTプラグイン > メールフォーム を mt.Vicuna に対応させる - その2

Search
Feeds

Return to page top