lfGetOrderDetail($_POST['order_id']); //ログインしていない、またはDBに情報が無い場合 if (empty($arrOrderDetail)){ SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR); } $this->lfAddCartProducts($arrOrderDetail); SC_Response_Ex::sendRedirect(CART_URLPATH); } /** * デストラクタ. * * @return void */ function destroy() { parent::destroy(); } // 受注詳細データの取得 function lfGetOrderDetail($order_id) { $objQuery = SC_Query_Ex::getSingletonInstance(); $objCustomer = new SC_Customer_Ex(); //customer_idを検証 $customer_id = $objCustomer->getValue("customer_id"); $order_count = $objQuery->count("dtb_order", "order_id = ? and customer_id = ?", array($order_id, $customer_id)); if ($order_count != 1) return array(); $col = "product_class_id, quantity"; $table = "dtb_order_detail LEFT JOIN dtb_products_class USING(product_class_id)"; $where = "order_id = ?"; $objQuery->setOrder("order_detail_id"); $arrOrderDetail = $objQuery->select($col, $table, $where, array($order_id)); return $arrOrderDetail; } // 商品をカートに追加 function lfAddCartProducts($arrOrderDetail) { $objCartSess = new SC_CartSession_Ex(); foreach($arrOrderDetail as $order_row) { $objCartSess->addProduct($order_row['product_class_id'], $order_row['quantity']); } } }