EC-CUBE フォームでDBに保存しない場合
よくフォームで記入するけれども、その記入されたデータを加工したものをDBに保存、加工元のデータはDBに保存せず破棄。ということがよくあると思う。
これをEC-CUBEで実行するには、下記のようにファイルを変更すればよい。
顧客登録フォームの場合、変更するファイルは、
SC_Helper_Customer.php
例えば、下記のように年と月と日を別個に入力し、あとでがっちゃんこして日付データにする場合、
このままだと、年や月や日、それぞれがDBのテーブルに項目として存在しないとエラーになる。
$objFormParam->addParam('年', 'year', 4, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('月', 'month', 2, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK')); $objFormParam->addParam('日', 'day', 2, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'));
こういう場合、下記のように、パラメータとして”false”を指定し、年や月や日はDBに保存しない設定とすればよい。
$objFormParam->addParam('年', 'year', 4, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'), '', false); $objFormParam->addParam('月', 'month', 2, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'), '', false); $objFormParam->addParam('日', 'day', 2, 'n', array('EXIST_CHECK', 'NUM_CHECK', 'MAX_LENGTH_CHECK'), '', false);
この記事へのコメントはありません。