我希望客户只在她的购物车中添加任何数量的单个商品。如果购物车已经有项目,应该删除它,并在Opencart 2.x中将新添加的项目添加到购物车中。
打开system/library/cart.php。您会发现以下函数。
public function add
您可以在该函数中以非常快的速度运行删除查询。
public function add($product_id, $quantity = 1, $option = array(), $recurring_id = 0) {
$this->db->query("DELETE FROM " . DB_PREFIX . "cart");
$this->db->query("INSERT " . DB_PREFIX . "cart SET api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "', customer_id = '" . (int)$this->customer->getId() . "', session_id = '" . $this->db->escape($this->session->getId()) . "', product_id = '" . (int)$product_id . "', recurring_id = '" . (int)$recurring_id . "', `option` = '" . $this->db->escape(json_encode($option)) . "', quantity = '" . (int)$quantity . "', date_added = NOW()");
}
这是一个完整的功能。