画像認証付きのフォームを作れるJoomlaエクステンション「ChronoForms」を試す

infoScoop OpenSource Club Japan(IOCJ)というinfoScoop OpenSourceのユーザコミュニティを設立しました。
というわけで、infoScoop.orgにIOCJの入会申し込みフォームを作らねばなりません。
アプリを作るのもそんなに難しくないですが、キャプチャ(画像認証)つけたり確認メールを送ったり割とちょっと面倒なので、Joomlaのエクステンションでやってみることにしました。

Non-CommercialなFormsからCAPTHAというキーワードで検索したら、大量に出てきます。この中からいくつか試してみました。

  • BreezingForms (Old Version):高機能すぎてよくわからん。
  • JForms:簡単そうでいいんだが、なぜかフォーム作成ツールが動かない。
  • ArtForms:最近更新がないのでやめてみた。

と試した中で、ChronoFormsがよさそうだったので、ChronoFormsを使ってみることにしました。

インストール

Downloads - ChronoForms J1.5 FilesからComponentをダウンロードして、インストールします。
Plugin-Mambot、Modulesは必要に応じてインストールしてください。Plugin-Mambotを入れると記事の中にフォームを埋め込めます。Modulesを入れるとフォームをJoomlaのモジュールにすることができます。たぶん。

フォームを作成

[Component]>[ChronoForms]>[Form Wizard]をクリックし、フォーム作成画面を開きます。

右のToolBoxからフォーム部品をドラッグ&ドロップしてフォームを作成します。
部品を選択した状態で右下のPropertiesからバリデーションの設定をすることもできます。
画像認証(キャプチャ)もあるので、追加しましょう。サブミットボタンも必ず追加しておきます。
なお、HTMLを直接編集することもできます。その場合はこのForm Wizardは使いません。

メールの設定

フォームに入力した後にメールを送りたいものです。そのための設定をしましょう。
Form WizardのStep 2 「Choose Email(s) Settings」をクリックします。

まず、「New Email」アイコンをクリックしてメール設定エリアを作成します。その後はToolBoxから宛先(To)、件名(Subject)など必要な項目をドラッグします。
Dynamicとついている項目は、フォームに入力された値を使うことができます。
例えば、ここでは「Dynamic To」を使ってmailテキストボックスに入力されたメールアドレスを宛先にしています。
最低限以下の項目は設定する必要があります。必要な項目が追加されると、メール設定エリアの背景が赤から緑に変わります。

  • (Dynamic) To
  • (Dynamic) Subject
  • (Dynamic) From Name
  • (Dynamic) From Email

次に送信されるメールの本文を設定します。
Step 3 「Designe Your Email(s)」でメールの本文を設定できますが、空にしておけばフォーム入力内容がそのままメールで送られます。
必要に応じて変更します。

入力完了画面を作成する

Step 4 「After Form Submission」に行き、入力完了後に表示される画面を作成します。

左上の「Add Field」アイコンをクリックするとフォームに入力された値を完了画面に埋め込むことができます。

メール送信を有効にする

メールの設定は行いましたが、この状態だとまだメールは送信されません。
フォームの編集画面に行き、「Email the results ?」をYesに変更します。

これで、フォーム一覧画面で「Emails」のカラムが「Enabled:1 Disabled:0」となるはずです。

画像認証を有効にする

フォームには画像認証フォームを配置しましたが、デフォルトは無効になっていて使えません。

「Use Image verification:」をYesにして画像認証を有効にします。
また、これは好みですが、「What type of image to show ?」を「With Fonts」にした方が画像の見た目がいいです。

テストしてみる

作成したフォームをPublish(公開)にします。この時点では、URLがばれなければアクセスできません。

フォーム一覧のLinkカラムのURLをクリックすると、別ウィンドウにフォームが表示されます。

入力して「会員登録」をクリックします。

登録が完了しました。ちゃんとメールも届いています。

メニューに追加する

作成したフォームをメニューに追加します。
これはJoomla使いなら簡単で、メニューでタイプ「Chrono Forms」を選んで追加します。
「Form name」に作成したフォームの名前を入力します。

まとめ

ChronoFormsによるフォーム作成はかなり便利です。バリデーションも画像認証もメール送信も簡単にできます。

今回の設定ではメールが送られるだけなので、次回は入力されたデータをデータベースに保存する方法をご紹介したいと思います。