メールフォームプラグインV2.0・補足1(テキストボックスの初期値の指定)

メールフォームプラグインに対して、mak様より以下のご質問をいただきました。

本文のボックスの中に、書いて欲しい内容を説明する文を入れたいのですが、可能でしょうか?
例えば、必ず年齢を書いてください とかです

この方法を解説します。

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

まず、メールフォームのテンプレートに、以下のようなタグを追加します。
変数名は自分で決めます。ただし、フォームのフィールド名と重複しない名前をつける必要があります。

<MTSetVar name="変数名" value="テキストボックスの初期値">

たとえば、名前の欄に、「名前を入力してください」と初期値を表示したいとします。
この値を、「mail_author_default」という変数に設定するとします。
この場合、以下のようにタグを書きます。

<MTSetVar name="mail_author_default" value="名前を入力してください">

なお、textareaを使って複数行の入力欄を作る場合、初期値に改行を含みたい場合もありえます。
そのときは以下のようなタグを追加します。

<MTSetVarBlock name="変数名"
テキストボックスの初期値
複数行も可能です
</MTSetVarBlock>

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

次に、メールフォーム共通部分のテンプレートを開き、初期値を設定したいフィールドで、タグを以下のように書き換えます。
「変数名」には、1.の手順で設定した変数名を指定します。
また、「MTMailPreview系のタグ」には、そのフィールドの値を表示するためのMTMailPreview系のタグ(MTMailPreviewAuthorなど)を指定します。

・1行の入力欄の場合
<input name="フィールド名" value="<MTIf name="変数名"><$MTVar name="変数名" encode_html="1"$><MTElse><$MTMailPreview系のタグ$></MTIf>" />
・複数行の入力欄の場合
<textarea name="フィールド名"><MTIf name="変数名"><$MTVar name="変数名" encode_html="1"$><MTElse><$MTMailPreview系のタグ$></MTIf></textarea>

たとえば、1.のように、名前の欄の初期値のために、「mail_author_default」という変数を設定したとします。
この場合、名前のフィールドを以下のように書き換えます。

<input name="mail_author" value="<MTIf name="mail_author_default"><$MTVar name="mail_author_preview" encode_html="1"$><MTElse><$MTMailPreviewAuthor$></MTIf>" />