EC-CUBEのお問い合わせフォームのカスタマイズについて学習してみました。
今回はphpファイルをカスタマイズして、項目を追加して、さらにオリジナルデザインのHTMLソースを反映してみます。
カスタマイズの内容については、以下の2つになります。
・新規メールフォーム項目の追加
・メールフォームのデザインカスタマイズ
作業の流れはテスト環境で可能であればすべてのデザイン反映とメール送信まで確認して、問題がなければ公開サーバに反映します。
実際のカスタマイズはすべて自己責任において作業していますので了承ください。
【その1】お問い合わせフォームの構造を調べる
まずはEC-CUBEにデフォルトで用意されているお問い合わせフォームの構造がどうなっているのか調べました。
○お問い合わせフォームのパス
デフォルトではhtmlフォルダ内のcontact/index.phpが指定されている
⇒page_extends/contact/LC_Page_Contact_Ex.phpファイルがrequireされていました
⇒上のファイルでpages/contact/LC_Page_Contact.phpがコールされ
⇒LC_Page_Contact.phpを開くとお問い合わせ入力ページのソースを見つけることができました
【その2】LC_Page_Contact.php項目の追加
phpファイルを開くと、メールフォームの変換やエラーチェック、送信についての記述があります。
項目を追加するにあたっては、
56行目
//フォーム値変換用カラム
$arrConvertColumn = array(
165行目
//エラーチェック処理部
function lfErrorCheck($array) {
に項目を追加しました。コメント記載あるのでフォーム内容の変換と、必須項目かと入力内容値のチェックを行う場合はこちらも追加します。
【その3】HTMLページの追加
以下のSmartyフォルダ以下の箇所にデザインテンプレートファイルがあるのでHTML部分に項目を追加して、confirm.tpl/complete.tplも同じ項目の受け渡しHTMLソースを追加する。
data/Smarty/templates/default/contact/index.tpl
項目の追加ができたら、ブラウザでお問い合わせフォームページを開き画面を遷移させて確認。
【その4】デザイン組み込み
data/Smarty/templates/default/contact内のindex.tpl/fonfirm.tpl/complete.tplファイルのHTMLファイルからphpコードを反映させたいHTMLソースに組み込む
あとは同じ要領でブラウザで確認してみる。問題が内容であれば、公開サーバーにアップロード。