/** * 商品規格登録を行う. * * FIXME: 商品規格登録の実処理自体は、LC_Page_Admin_Products_Productと共通化して欲しい。 * * @param SC_Query $objQuery SC_Queryインスタンス * @param array $arrList 商品規格情報配列 * @param integer $product_id 商品ID * @param integer $product_class_id 商品規格ID * @return void */ function lfRegistProductClass($objQuery, $arrList, $product_id, $product_class_id) { $objProduct = new SC_Product_Ex(); // 商品規格登録情報を生成する。 // 商品規格テーブルのカラムに存在しているもののうち、Form投入設定されていないデータは上書きしない。 $sqlval = SC_Utils_Ex::sfArrayIntersectKeys($arrList, $this->arrProductClassColumn); // 必須入力では無い項目だが、空文字では問題のある特殊なカラム値の初期値設定 $sqlval = $this->lfSetProductClassDefaultData($sqlval); if ($product_class_id == "") { // 新規登録 $sqlval['product_id'] = $product_id; $sqlval['product_class_id'] = $objQuery->nextVal('dtb_products_class_product_class_id'); $sqlval['create_date'] = $arrList['update_date']; // INSERTの実行 $objQuery->insert("dtb_products_class", $sqlval); $product_class_id = $sqlval['product_class_id']; } else { // UPDATEの実行 $where = "product_class_id = ?"; $objQuery->update("dtb_products_class", $sqlval, $where, array($product_class_id)); } // 支払い方法登録 if ($arrList['product_payment_ids'] != "") { $arrPayment_id = explode(',', $arrList['product_payment_ids']); $objProduct->setPaymentOptions($product_class_id, $arrPayment_id); } }