Craft CMS の a&m forms プラグインで問い合わせフォームを作成してみよう(プラグイン設定編)

これは Craft CMS Advent Calendar 2017 24日目の記事です。

管理機能として複数のフォームを管理したり、それぞれを柔軟にカスタマイズできると便利ですよね?
Craft CMS でも、有償・無償それぞれにいくつか使い勝手のよい問い合わせフォーム用のプラグインが提供されています。

そこで、今回は a&m forms プラグインについてまとめてみます。
思っていたよりも項目が多かったため、今回は「プラグイン設定」に絞って解説します。

a&m forms プラグインとは

am-impact/amforms: Forms plugin for Craft
https://github.com/am-impact/amforms

GitHub で公開されているフォーム管理用のプラグインで、以下のような特徴があります。

  • 複数フォームの作成
  • フォーム専用フィールドの作成
  • 受信データの CSV エクスポート
  • アンチスパム機能
  • Google reCAPTCHA 連携

利用頻度の高い機能がまとまっていて、かつ、商用利用でも無料で使えるため、抑えておいて損はないでしょう。
なお、ライセンスの詳細については LICENSE.txt にも目を通しておいてください。

プラグインの設定項目について

プラグインの設定画面では、5つのグループに関する指定が可能です。
項目ごとの概要を列挙しますので、参考にしてください。

一般

プラグイン全体に関わる設定です。

プラグイン設定 > 一般

ラベル
Plugin name管理画面に表示されるプラグインの名称を変更します。
Quiet errorsここが ON の場合、エラーが生じるとログに出力します。OFF の場合は throw されます。
Fields per setフィールドレイアウトの設定画面に影響します。1つあたりの FIELDSET に含まれるフィールド数を指定します。
Bcc email address管理者宛通知メールの BCC にするメールアドレスを指定します。

Exports

受信データの CSV エクスポートに関する設定です。

プラグイン設定 > Exports

ラベル
Delimiterセルの区切り文字を指定します。
Export rows per setExport タスクで出力される1ファイルあたりの行数を指定します。
Ignore Matrix field and block namesMatrix フィールド、または、それに含まれるブロックを出力から除外する場合に ON にします。
Ignore Matrix multiple rowsMatrxi フィールドに複数のブロックが含まれる場合、ここを ON にしておくと最初のブロックだけに出力を制限します。

AntiSpam

アンチスパムに関する設定です。

プラグイン設定 > AntiSpam

ラベル
Honeypot enabledHoneypot を有効にする場合は ON にします。
Honeypot nameHoneypot 用のテキストフィールドの name 属性値を指定します。
Time check enabledフォーム送信までの時間をチェック対象にする場合は ON にします。
Minimum time in secondsフォーム送信までに最低限必要とする秒数を指定します。
Duplicate check enabled受信データの重複チェックを有効にするかを指定します。
Origin check enabledユーザーエージェントなどによる重複チェックを有効にするかを指定します。

Honeypot を有効にする場合、テンプレートの form タグ内に {{ craft.amForms.displayAntispam() }} を記述しておく必要があります。

reCAPTCHA

Google reCAPTCHA に関する設定です。あらかじめ API Key を取得してください。

プラグイン設定 > reCAPTCHA

ラベル
Google reCAPTCHA enabledreCAPTCHA を有効にする場合は ON にします。
Site key取得した Site key をセットします。
Secret key取得した Secret key をセットします。

reCAPTCHA を有効にする場合、テンプレートの form タグ内に {{ craft.amForms.displayRecaptcha() }} を記述しておく必要があります。なお、 API Key の取得時に Invisible reCAPTCHA を選択していても、reCAPTCHA V2 タイプの表示となります。

Templates

フォーム表示用のテンプレートを craft/templates 下層にある任意のテンプレートで上書きします。

プラグイン設定 > Templates

ラベル
Form templatedisplayForm() で出力されるフォーム全体のテンプレートを指定します。
Tab templateフォームの設定で Display tab titlesON の場合に displayForm() で出力されるタブタイトル部分のテンプレートを指定します。
Field templatedisplayField() で出力されるフィールド部分のテンプレートを指定します。
Notification template管理者向けの通知メールのテンプレートを指定します。
Confirmation template自動返信メールのテンプレートを指定します。

ここで指定可能なすべてテンプレートは、各フォームの設定画面で上書きすることもできます。

まとめ

ここでは a&m forms プラグインの「プラグイン設定」についてまとめてみました。
次回は、サンプルのフォームを作成しながらポイントを解説しようと思います。