Opencart Product stock not updated on order cancel/delete fix

opencart

opencart

ในที่สุดก็มาจนได้ หลังจากที่ระบบเดิมของ Opencart นั้น เวลาเรายกเลิกหรือลบคำสั่งซื้อแล้ว แต่ระบบมันไม่คืนสต๊อกสินค้ากลับ ทำให้มีเสียงบ่นตามมา เราจะได้เห็นในเวอร์ชั่น 1.5.2 เร็วๆนี้ครับ

Code ที่เค้าแก้แล้วก็ประมาณนี้ครับ

$order_query = $this->db->query(“SELECT * FROM `” . DB_PREFIX . “order` WHERE order_status_id > ‘0’ AND order_id = ‘” . (int)$order_id . “‘”);

if ($order_query->num_rows) {
$product_query = $this->db->query(“SELECT * FROM ” . DB_PREFIX . “order_product WHERE order_id = ‘” . (int)$order_id . “‘”);

foreach($product_query->rows as $product) {
$this->db->query(“UPDATE `” . DB_PREFIX . “product` SET quantity = (quantity + ” . (int)$product['quantity'] . “) WHERE product_id = ‘” . (int)$product['product_id'] . “‘ AND subtract = ‘1’”);

$option_query = $this->db->query(“SELECT * FROM ” . DB_PREFIX . “order_option WHERE order_id = ‘” . (int)$order_id . “‘ AND order_product_id = ‘” . (int)$product['order_product_id'] . “‘”);

foreach ($option_query->rows as $option) {
$this->db->query(“UPDATE ” . DB_PREFIX . “product_option_value SET quantity = (quantity + ” . (int)$product['quantity'] . “) WHERE product_option_value_id = ‘” . (int)$option['product_option_value_id'] . “‘ AND subtract = ‘1’”);
}
}
}

Don't be shellfish...Share on FacebookTweet about this on TwitterShare on Google+Digg thisPin on PinterestShare on Reddit
Post Tagged with , , ,

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *

คุณอาจจะใช้ป้ายกำกับและคุณสมบัติHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>