フォームIDの設定
フォームを設置するときフォームIDをテンプレートとフォーム管理画面に設定しています。フォームIDがあることでフォームの管理画面に送信データをデータベースに蓄積したり、メールのテンプレートやメールアドレスを指定することができます。
FormモジュールにフォームIDを指定する
フォームの各ステップにフォームIDを記述します。IDの英数字で指定してください。記述方法は以下のような記述になります。
<input type="hidden" name="id" value="(フォームID)" />
例えば、フォームIDが contactForm のときは以下のように記述します。
<!-- BEGIN_MODULE Form -->
<!-- BEGIN step-->
<!-- 新規 -->
@include("/include/form/input.html")
<input type="hidden" name="id" value="contactForm" />
<!-- END step -->
<!-- BEGIN step#reapply -->
<!-- 修正 -->
@include("/include/form/input.html")
<input type="hidden" name="id" value="contactForm" />
<!-- END step#reapply -->
<!-- BEGIN step#confirm -->
<!-- 確認 -->
@include("/include/form/confirm.html")
<input type="hidden" name="id" value="contactForm" />
<!-- END step#confirm -->
<!-- BEGIN step#result -->
<!-- 完了 -->
@include("/include/form/result.html")
<!-- END step#result -->
<!-- END_MODULE Form -->
{% set form = module('V2_Form') %}
{% if form.step == 'step' %}
<!-- 初期・修正画面 -->
{{ include('/contact/form/input.twig', form.fields) }}
<input type="hidden" name="id" value="contactForm" />
{% endif %}
{% if form.step == 'confirm' %}
<!-- 確認画面 -->
{{ include('/contact/form/confirm.twig', form.fields) }}
<input type="hidden" name="id" value="contactForm" />
{% endif %}
{% if form.step == 'result' %}
<!-- 完了画面 -->
{{ include('/contact/form/confirm.twig', form.fields) }}
{% endif %}
フォーム管理にフォームIDを指定する
管理画面 > フォームの [フォームIDを作成]ボタンを押してフォームIDを作成します。フォーム管理ではフォームの送信データのログを閲覧したり、メールアドレスやテンプレートを指定ができます。
メールのテンプレートを指定する
フォームID画面ではメールのテンプレートや管理者のメールアドレスを指定することができます。
- SubjectTpl :一般に届くメールの件名
- BodyTpl :一般に届くメールの本文
- BodyHTMLTpl : 一般に届くHTMLメールの本文(※Ver.2.5以降より追加)
- AdminSubjectTpl:管理者に届くメールの件名
- AdminBodyTpl:管理者に届くメールの本文
- AdminBodyHTMLTpl:管理者に届くHTMLメールの本文(※Ver.2.5以降より追加)
メールのテンプレートはフォームのテンプレートが置いてあるテーマフォルダに置いてください。 例えば メールテンプレートが /themes/site2015/contact/form/subject.txt に置いてあった場合のパスは /contact/form/subject.txt になります。
テキストメール or HTMLメール
HTMLメールの本文のテンプレートがない場合は、テキストメールとして送信されます。HTMLメールとして送りたい場合は、テキストとHTML両方のテンプレートを指定ください。
メールアドレスを指定する
以下のようなメールアドレスを指定する箇所があります。
- To
- From
- Cc
- Bcc
- Reply-To
- AdminTo
- AdminFrom
- AdminCc
- AdminBcc
- AdminReply-To
最初にAdminがつく設定が管理者宛の設定で、つかないものが、自動返信の一般宛の設定になります。 これらの値は、ここでの設定以外にフォームのテンプレートで指定ができます。
通常は、Toにはお問い合わせした人に送信するので、毎回変わりますので、テンプレートで動的に設定します。 Fromは管理者のメールアドレスを設定すればよいでしょう。
逆に管理者宛のAdminToは、管理者のメールアドレスを固定で設定し、Fromを動的にテンプレートで指定します。
<!-- BEGIN step#confirm -->
@include("/contact/form/confirm.html")
<form action="thanks.html" method="post" class="js-unload_alert" enctype="multipart/form-data">
<!-- テンプレートで、自動返信の宛先を動的に設定 -->
<input type="hidden" name="To[]" value="{email}" />
<!-- テンプレートで、管理者宛メールの返信先を動的に設定 -->
<input type="hidden" name="AdminReply-To[]" value="{email}" />
<input type="hidden" name="step" value="result" />
<input type="hidden" name="takeover" value="{takeover}" />
<input type="hidden" name="id" value="contactForm" />
<button type="submit" name="ACMS_POST_Form_Submit">
送信する
</button>
</form>
<!-- END step#confirm -->
{% if form.step == 'confirm' %}
{{ include('/contact/form/confirm.twig', form.fields) }}
<form action="thanks.html" method="post" enctype="multipart/form-data">
<!-- テンプレートで、自動返信の宛先を動的に設定 -->
<input type="hidden" name="To[]" value="{{ form.fields.email.value }}" />
<!-- テンプレートで、管理者宛メールの返信先を動的に設定 -->
<input type="hidden" name="AdminReply-To[]" value="{{ form.fields.email.value }}" />
<input type="hidden" name="step" value="result" />
<input type="hidden" name="takeover" value="{{ form.fields.takeover }}" />
<input type="hidden" name="id" value="contactForm" />
<button type="submit" name="ACMS_POST_Form_Submit">
送信する
</button>
</form>
{% endif %}