1

我有一个应用程序,它是一个 T 恤定制器,它本身就非常好用。但我需要将它集成到 prestashop 中。因此,在用户使用该应用程序定制一件 T 恤后,他必须单击“添加到购物车”,该产品将被添加到具有自定义价格和描述的购物车中。

我需要的是将此输出作为自定义产品注入 PrestaShop 购物车,其中包含所有自定义信息以及生成的自定义产品图像以显示在购物车中的详细信息旁边。

所以我已经完成了定制器,我已经为 Prestashop 制作了一个自定义模块和页面,但我不知道如何将它与购物车集成。我的prestashop知识有限。

我怎样才能做到这一点?

4

2 回答 2

2

当您在CartController.php

$this->context->cart->addTextFieldToProduct($this->id_product, $r["id_customization_field"], Product::CUSTOMIZE_TEXTFIELD, Tools::getValue('product_description'));

那么您只需将自定义描述保存在自定义字段中。但是您如何更改此定制的价格?

当然,您必须覆盖文件中的getPriceStatic方法product.php以重新计算自定义价格。但还有另一个问题:如果客户将相同的产品添加到购物车但定制不同,定制价格也不同怎么办?

不同的定制文本由您使用的方法处理并因此正确添加到购物车,但不同的价格计算只会覆盖第一个定制价格,因为两种定制都与同一产品相关联。

于 2014-04-18T15:20:35.867 回答
0

我做了类似的事情。以下是我的处理方式。

我的模块独立工作。我通过定制器模块中的对象模型将定制存储在数据库中。每个自定义项都有一个 ID。

Prestashop 为每种产品提供定制服务。我在产品页面上对客户隐藏它,但我用它来存储定制的 ID。这样,您可以在购物车中看到每个定制产品的定制 ID。

我在 Cart 对象中使用了 _addCustomization 方法来存储自定义 ID。这是一个小例子:

$context = Context::getContext();
$result = $context->cart->_addCustomization($id_product, $id_product_attribute, 1, 1, $id_customization, 1);

希望我足够清楚。

这对你有帮助吗?

于 2013-09-29T13:07:10.093 回答