我正在使用opencart建立一个小商店。我目前只允许将1个产品添加到购物车中,因此当用户添加不同的产品时,它将替换为新产品。但允许更改该产品的数量。
我需要做的是一旦一个人成功购买了具有数量的物品; 3 产品需要保存为3个不同的订单。
这可以在OC中做吗?如果是,有人可以指导我怎么做吗?
答案 0 :(得分:1)
解决方案非常简单 - 在创建和确认订单而不是为数量为XYZ的产品创建一个订单时,请执行循环并仅为一个产品数量存储XYZ订单。
基本上你将改变catalog/model/checkout/order.php::addOrder()
- 这里循环基本上围绕整个函数体进行,例如:
for ($i = 0; $i < $data['products'][0]['quantity']; $i++) {
// the rest of the method, but removing
// foreach ($data['products'] as $product) - this is not needed anymore
}
同时返回一组新创建的订单ID,以便您可以在之后确认...
然后您需要修改所有已使用的付款控制器,因为这些是确认订单 - 您需要更改它们以确认所有订单(添加时已返回的ID - 它们可能存储在会话中。)
虽然可能需要一些时间(取决于您使用的付款方式),但并不困难。