Opencart 2.x只添加任意数量的购物车中的单个商品


Opencart 2.x add only single item in cart with any quantity

我希望客户只在她的购物车中添加任何数量的单个商品。如果购物车已经有项目,应该删除它,并在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()");
    }

这是一个完整的功能。