Web制作においてフォームの作成は企画・デザイン・プログラムの3つの要素が入ったとても面倒な部分です。
特に問い合わせフォームなどは簡単な様で実は結構やっかいな部分です。
問い合わせフォームとはどのようなものであるかを考えながらCMSのそこで果たす役割について考えてみます。
まず企業サイトにおける問い合わせフォームのあり方を考えてみます。以前でしたらフォームの内容は入力者の基本情報+大きめの入力ボックスというパターンを使い回せば済みました。ところがサイトのあり方の進化に伴い、よりニーズを絞り込んだ見込み顧客を問い合わせフォームへ誘導するようになってきました。それに伴い、フォームの形も必要項目だけでなく、より製品やサービス内容に合わせてカスタマイズされたものになりました。なるべく入力負担を軽くするために選択項目を増やし、入力されたデータを検証し、不備があればその部分を目立たせて再入力を促すなどより高度なフォームが作られるようになりました。
ここで問題が出てきます。CMSを使ったサイトの場合、そのフォームが誰が作るかです。通常のサイトの作りですと仕様に従い、デザイナーによってフォームが作られ、プログラマーがフォームの項目の名前やJavaScriptの組み込みなどを行います。そしてフォームを処理するプログラムを合わせて完成します。CMSの場合はどうでしょうか?
CMSは今やコンテンツの管理だけではなく、サイト全体のページの管理を行います。テンプレート内に記述された独自タグにより現在のサイト構成に合わせたメニューを生成したり、最新情報を掲載したりなど静的でありながらページ追加時には何らかの影響を受けてページが変化させるのです。では、フォームのページにおけるCMSの役割は何でしょうか?
フォームには入力、誤りの訂正入力、確認、お礼といった画面が存在します。実際には変わるのはナビゲーションやメニューなどをのぞいた通常コンテンツが入る部分のみです。つまりフォームを生成するにはテンプレートを使うことが多いのです。そうであればCMSの役割は簡単です。通常は静的ページを生成しているところ、テンプレートを生成するのです。
これにより、デザイン変更があった場合でもフォームは問題なく移行できますし、フォームの変更の際にはプログラムとフォームを生成する部分のみを変更すればよくなります。
本当を言えばCMS側にフォーム生成モジュールが組み込まれ、ウィザードに従いながらフォームを生成するのが望ましいのですが、通常のページと違い、フォームの変更頻度が低いために、わざわざ大金をかけてその部分を作ることはあまりないようです。
CMSの導入の目的によりフォームと連携がどこまで必要かは変わってきますが、柔軟なサイトを作る為にCMSを導入するという場合にはCMSがフォームの為のテンプレートを出力でき、通常のページと同様にフォーム生成のプログラムページをサイト内に組み込めるかということも意識に入れておいた方がいいかもしれません。
私が作っているCMSでもこの部分はかなりどのような仕組みにするか悩まされたところでした。
※このエントリは CNET Japan ブロガーにより投稿されたものです。朝日インタラクティブ および CNET Japan 編集部の見解・意向を示すものではありません。
メンバー限定サービスをご利用いただく場合、このページの上部からログイン、またはCNET_ID登録(無料)をしてください。