- 2010年3月13日 20:56
確定申告も終了しつつあり、まだ未提出は4件ぐらいです。
ようやくWeb開発とかにかかれる時間がちょこっとあります。
MTを4.1から4.2にあげたところ(世の中はもうMT5ですが・・・)メールフォームに不具合が発生していることが判明しました。
今日は8時間ぐらいかけてそれを1人で修正しておりました。
メールフォームはMTでは有名な藤本壱先生のメールフォームプラグインV2.10でMTのテンプレートはテンプレートキングです。
テンプレートキングのQ&Aでもメールフォームが作れないかという指摘がたくさんあります。5.0はよく知りませんが4.2はフォームをあちこちいじる必要があります。
まずは、MTにプラグインを追加し、<MTSetVar name="mail_setting" value="メールフォームの設定の名前">を追加するところまでは藤本先生の手順通りにやれば良く問題はありません。問題はその後にメールフォームのテンプレートを再構築をすると
テンプレート「mail_form:メールフォーム」の再構築中にエラーが発生しました: タグでエラーがありました: 「HTMLヘッダー」というモジュールテンプレートが見つかりませんでした。
というエラーメッセージが出ることです。いやあ悩みましたね。4時間ぐらい悩みました。原因は藤本先生がMovable Type 4.2標準テンプレートセット用のメールフォームを作っているので、テンプレートキング用には作ってはいないのです。
たとえば、テンプレートキングでは「HTMLヘッダー」というモジュールテンプレートなんかあるわけがないのです。ヘッダーというモジュールテンプレートはありますが・・・・ということで大胆にいじる必要があるわけです。これに気づくまでにさらに1時間かかりました。
よくみると藤本先生の構文は言語やHTMLの再定義までしてあります。テンプレートキングではヘッダーでもうそういうものは宣言されており、そういうものは必要ないかと勝手に判断し、大きく削除をかけました。
そしてその構文を以下のように変更!!
<MTSetVar name="mail_setting" value="sample">
<MTSetVar name="body_class" value="mt-main-index">
<MTSetVar name="main_template" value="1">
<MTSetVar name="main_index" value="1">
<MTSetVar name="sidebar" value="1">
<MTSetVarBlock name="title"><$MTBlogName encode_html="1"$></MTSetVarBlock>
<$MTInclude module="ヘッダー"$>
<div id="alpha">
<div id="alpha-inner">
<h2>メールの送信</h2>
<$MTIncludeMailFormCommon$>
</div>
</div>
<div id="gotop">
<a href="#top">このページのトップへ</a>
</div>
<$MTInclude module="フッター"$>
sampleのところは「設定のタイトル」でつけた名前に皆様で変更してください。
ついでに言うとテンプレートモジュールの「mail_error: 送信エラー」、「mail_post: 送信完了」、「mail_preview: 送信確認」もいじる必要があります。
ま、またの機会にしましょうかね・・・今日は疲れたので、この項はちゃんとやります。自分の備忘録でもありますので・・・
- Newer: テンプレートキングにMT4.2でメールフォームを作る方法!その後
- Older: あわただしい日々
