[EC-CUBE2.13]ご注文の流れフォームに任意の入力項目を追加する
- 公開日:2015/6/15
注文フォームで任意の入力項目を増やす方法のメモです。
今回は、商品詳細ページで入力項目を設けるのではなく、ご注文の流れの中で入力項目を増やします。商品毎ではなく注文毎になります。
例えば、熨斗とかメッセージカードとか(のしだけなら無料プラグインがあるようですが)。
手順
テーブルに追加項目のカラムを追加
以下のテーブルにカラムを追加します。
・dbd_order
・dbd_order_temp
LC_Page_Shopping_Paymentの拡張クラスを変更
data/class/pages/shopping/LC_Page_Shopping_Payment.phpの「lfInitParam」
を参考にしながら、
data/class_extends/page_extends/shopping/LC_Page_Shopping_Payment_Ex.php
に以下のように「lfInitParam」を追加し、
$objFormParam->addParam()に項目を増やします。
<変更ファイル>
data/class_extends/page_extends/shopping/LC_Page_Shopping_Payment_Ex.php
public function lfInitParam(&$objFormParam, $deliv_only, &$arrShipping) { parent::lfInitParam($objFormParam, $deliv_only, $arrShipping); //追加項目 $objFormParam->addParam('追加項目名', 'custom_name', STEXT_LEN, 'KVa', array('EXIST_CHECK', 'NO_SPTAB', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->setParam($arrShipping); $objFormParam->convParam(); }
入力チェックの内容は追加する項目に合わせてカスタマイズしてください。
入力画面と確認画面に項目を追加
ご注文の流れフォームに項目を追加します。
<変更ファイル> ※PC版の場合
入力画面:data/Smarty/templates/default/shopping/payment.tpl
確認画面:data/Smarty/templates/default/shopping/comfirm.tpl
※スマホ、モバイルも同じ要領です。
受注完了メールに追加
注文後に自動配信されるメールにも追加項目が表示されるようにします。
<変更ファイル>
mail_templates/order_mail.tpl
管理画面の受注管理でも追加項目を増やしておくと親切だと思います。
その方法はまた別の機会に。