ウェブファイルカスタマイズ
AmpiTaでノーコード開発(自動生成)されるウェブファイルは、ご自身でカスタマイズすることが可能です。
一般的に、専用サーバで動ASPやSaaSなどと呼ばれるウェブアプリでは内部構造まで触る事ができませんが、AmpiTaではユーザー様ご自身でアップロードしていただくウェブファイルが存在するため、容易にカスタマイズしていただけます。
このページではカスタマイズ方法を簡単にご案内しますが、カスタマイズはユーザー様の責任下で行って頂きます。AmpiTa提供者側はカスタマイズによっておこる不具合、損害等には一切関与しないことをご承知願います。
【登録フォーム(入力フォーマット)カスタマイズ共通作業】
登録フォームの見た目、挙動など様々なカスタマイズが可能です。
AmpiTaでは、非常時に最小限の動作をするように、また外因による不具合が起こりづらいように機能を削ぎ落して現在の形にしておりますので機能追加の伸び代は十分にありますが、一方で通信容量などの課題も生じ得ることにご留意ください。
1.ウェブファイルを開く
AmpiTaで自動生成したウェブファイルを開きます。
ファイルを右クリックすると現れるメニューの中から開く、またはプログラムから開くを選びます。
PHPファイルは既定のプログラムが既定されていない可能性があるため、ダブルクリックしても開かない可能性があります。
HTMLファイルは既定のプログラムがブラウザとなっている可能性があるため、ダブルクリックするとブラウザが起動する可能性があります。
プログラムは『メモ帳』(Microsoft NotePad)などのテキストエディタを選びます。
Visual Studioなどの他のプログラムが使いやすければ、どのようなプログラム(ソフトウェア)を利用しても構いません。AmpiTa側で推奨も縛りもありません。
下図は登録フォームのindex.phpをメモ帳で開いたときの画面です。
構造として上方にはPHP言語、下方にはHTMLタグで書かれたプログラムがあります。変数と呼ばれる文字記号には何らかのデータが代入され数カ所で共用されるので、記号を書き換える場合にはページ内すべて、場合によっては他のウェブファイルも書き換える必要があります。
2.動作確認
構文エラーは致命的です。必ず実際のウェブサーバ上で動作確認を行ってください。
【登録フォーム(入力フォーマット)に送信控えを搭載する】
AmpiTaでは非常時に通信が殺到してつながりにくくなる輻輳(ふくそう)を想定し、登録フォーム(入力フォーマット)で送信が成功(エラーでない場合)したあとの処理は、画面上に送信した旨を表示するにとどめています。
よくあるお問い合わせフォームでは送信控えが送信者のメールアドレスに届く仕組みになっています。同様のことをAmpiTaの登録フォームにも実装することが可能です。
送信控えを返すためには、控えを送る先のメールアドレスが必要であり、画面上で入力されたメールアドレスが適切でなかった場合の処理が必要になります。
メールアドレスを持っていない人にどう対応するのか、入力が苦手な人にメールアドレスの入力を強要すべきかなどは十分にご検討ください。
1.ウェブファイルを開く
AmpiTaで自動生成した登録フォーム(入力フォーマット)のウェブファイル『index.php』を開きます。
2.コード追記
50~60行目付近にメール送信に係る下記のようなPHPプログラムが記述されています。
概要としては『mailTo』は宛先で、これはAmpiTaで登録フォームを制作する際に指定した宛先が指定されます。次の行は『returnMail』なので宛先に届かなかった場合の処理ですが、存在する宛先に送る仕組みになっていなければならないので理論的には使われないはずの行です。その次の行は『header』としてメールのヘッダー部分に記載される差出人(From)を指定しています。
このToやFromの下にコードを追記することで送信控えを実装することができます。
$mailTo = mb_encode_mimeheader(MAIL_TO_NAME) ."<" . MAIL_TO. ">";
$returnMail = MAIL_RETURN_PATH; mb_language( 'ja' );mb_internal_encoding( 'UTF-8' );
$header = "From: " . mb_encode_mimeheader($name) ."<" . "AmpiTa@NES". ">\n";
送信控えには『CC』(カーボンコピー)や『BCC』(ブラインドカーボンコピー)を使います。
下記コード追記します。
コードの中で『$AmpiTa_Var_06』という記述がありますが、そこには送信控えの送信先メールアドレスが代入されなければなりませなん。変数『$AmpiTa_Var_06』はAmpiTaの既定値で第6項目としています。例えば第1項目を送信先メールアドレスの入力箇所とする場合には『$AmpiTa_Var_01』、同様に第5項目を指定する場合は『$AmpiTa_Var_05』などに変更します。
送信控えを『CC』で送る場合の記述は以下のとおりです。
$header .= "Cc: " . mb_encode_mimeheader("AmpiTa") ."<".$AmpiTa_Var_06. ">\n";
送信控えを『BCC』で送る場合の記述は以下のとおりです。『CC』の場合にはヘッダーにCCが付いていることが可視化されるので付記すべき情報がありますが、BCCは単に控えが送信されるだけなので単純にアドレスだけが記述されます。
$header .= "Bcc: <".$AmpiTa_Var_06.">";
3.メール記述に限定
AmpiTaの登録フォームノーコード開発(自動生成機能)で出力されるファイル群の『libs』フォルダにある『functions.php』に、当該入力欄が電子メールアドレス書式でなければエラーを返す記述を加えることで制御できると思いますが、個々では別の簡便な方法を紹介します。
『index.php』の300行目付近に下記のコードが記述されています。これは『$AmpiTa_Var_06』を使う場合の例ですので『$AmpiTa_Var_05』など他の変数を使う場合はこの限りではありません。
<input type="text" id="AmpiTa_Var_06" name="AmpiTa_Var_06" placeholder="メール" value="<?php echo h($AmpiTa_Var_06); ?>">
上記は、ここにテキストボックス(type="text")を作り、そこに入力されるデータは変数『AmpiTa_Var_06』(name="AmpiTa_Var_06")に代入しなさいというコードです。
ここにある『type="text"』を『type="email"』に書き換えることで、自由書式のテキストボックスが、入力制限を受けたメールアドレス入力ボックスに変わります。
<input type="email">
シンプルに書くと上記のコードになりますが、これだけですと変数への代入指示がありませんし、入力エラーがあったとこの処理なども行われません。部分的に『type="text"』を書き換える方が無難です。
4.必須入力項目に変更
登録フォームでメールアドレス欄が空欄のまま送信されると、送信控えの送信先メールアドレスが空欄(ブランク)となり、エラーを返す可能性があります。
その回避策としては2つあり、1つはコードを追記して空欄の場合にCCやBCCを付けない処理を行います。ここではその方法の説明は行いません。
もう1つの方法として、空欄を受け付けないように必須入力化する方法があります。
登録フォームを作る時点で当該メールアドレス入力欄に必須のチェックマークを入れておきます。あるいは40行目付近に下記コードを追記します。
if ( $AmpiTa_Var_06 == '' ) {$error['AmpiTa_Var_06'] = '*メールアドレスは必須項目(要入力)です。'; }
5.動作確認
ファイルをウェブサーバにアップロードして動作確認を行ってください。