お知らせ

Movable Type プロフェッショナル・スタイル MT4.1対応 2008年4月8日

Movable Typeプロフェッショナル・スタイル」が発売されました。
Movable Typeの第一線に関わる人々の共著で、Movable Typeをビジネスサイト構築に活かすテクニックが満載です。
Movable Typeでサイト構築を行っているWeb制作会社等の方々にお勧めです。

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

メールフォームをブログ記事ごとに設置する(その3)

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

ブログ記事からメールフォームのページにリンクし、ブログ記事の情報をメールフォームに渡す方法の2つ目として、JavaScriptを使う方法を解説します。

1.ブログ記事テンプレートの書き換え

まず、ブログ記事テンプレートを書き換えます。
その手順は、PHPを使う方法の手順1と同じです。

2.メールフォームテンプレートの書き換え

次に、メールフォームのテンプレートの先頭に、以下のようなタグを入れます。

<MTSetVar name="use_js" value="1">

3.メールフォーム共通部分テンプレートの書き換え

次に、「メールフォーム共通部分」のテンプレートモジュールを書き換えます。

メールフォーム共通部分のテンプレートモジュールの中に、以下のようなタグがあります。

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

このタグの前に、以下のようなタグを追加します。
「フィールド名1」等には、手順1.で付けたフィールド名を指定します。

<MTIf name="use_js">
<script type="text/javascript">
//<![CDATA[
    var names = { "フィールド名1" : 1, "フィールド名2" : 1, ・・・, "フィールド名n" : 1 };
    var querys = location.search.split(/&/);
    for (var i = 0, j = querys.length; i < j; i++) {
        var queryTmp = querys[i].split(/=/);
        if (names[queryTmp[0]]) {
            document.write('<input type="hidden" name="' + queryTmp[0] + '" value="' + decodeURIComponent(queryTmp[1]) + '" />');
        }
    }
//]]>
</script>
<MTElse>
<input type="hidden" name="フィールド名1" value="<$MTMailPreviewExtParam name="フィールド名1"$>" />
<input type="hidden" name="フィールド名2" value="<$MTMailPreviewExtParam name="フィールド名2"$>" />
・・・
<input type="hidden" name="フィールド名n" value="<$MTMailPreviewExtParam name="フィールド名n"$>" />
</MTIf>

例えば、ブログ記事からメールフォームへmail_blog_name/mail_entry_title/mail_entry_idの3つの情報を渡す場合だと、メールフォーム共通部分に以下のタグを追加します。

<MTIf name="use_js">
<script type="text/javascript">
//<![CDATA[
    var names = { "mail_blog_name" : 1, "mail_entry_title" : 1, "mail_entry_id" : 1 };
    var querys = location.search.split(/&/);
    for (var i = 0, j = querys.length; i < j; i++) {
        var queryTmp = querys[i].split(/=/);
        if (names[queryTmp[0]]) {
            document.write('<input type="hidden" name="' + queryTmp[0] + '" value="' + decodeURIComponent(queryTmp[1]) + '" />');
        }
    }
//]]>
</script>
<MTElse>
<input type="hidden" name="mail_blog_name" value="<$MTMailPreviewExtParam name="mail_blog_name"$>" />
<input type="hidden" name="mail_entry_title" value="<$MTMailPreviewExtParam name="mail_entry_title"$>" />
<input type="hidden" name="mail_entry_id" value="<$MTMailPreviewExtParam name="mail_entry_id"$>" />
</MTIf>

4.メールフォームの再構築とメール本文等のテンプレートの書き換え

ここから後は、PHPを使う場合の手順4および手順5と同じです。

はてなブックマークの情報

トラックバック(0)

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

コメントする


Movable Type Developer's Guide Volume 1

Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」を発売しました。
詳細は特設ページをご覧ください。