PrestaShop 从自定义模块添加到购物车

PrestaShop add to cart from custom module

我正在开发 PrestaShop 模块,用户可以在前视图中 select 一些参数。

我需要将产品添加到购物车,包括自定义价格和 selected 参数。

我应该怎么做?我不想覆盖默认行为,因为并非所有产品都会使用我的组件。

任何帮助都会很棒。 祝你今天愉快,巴特克。

将产品添加到购物车非常简单:

首先创建一个空购物车:

$cart=new Cart();
... here you can set your cart properties id_address / id_carrier etc...
$cart->add();

或者,如果您已经有了要使用的购物车,只需加载带有 ID 的购物车对象并执行:

$cart->updateQty($quantity, $id_product, $id_product_attribute, false);
$cart->update();

您应该为每个需要添加到购物车的产品/数量重复 updateQty() 方法。

为了自定义购物车中的产品价格,您必须使用 SpecificPrice 对象创建产品“特定价格”并将它们绑定到 id_cart :

$mySpecificPrice = new SpecificPrice();
$mySpecificPrice->id_cart = $cart->id;
... add your discount / id_product here on specific price here ...
$mySpecificPrice->add();

请注意,您只能使用 SpecificPrice 设置价格折扣,不允许附加费用,并且会触发异常。

如果您需要在不进行任何核心修改的情况下提高价格,您将被迫生成一个 订单 并在之后编辑订单价格。