我有帆布横幅印刷网站。我希望客户输入宽度和高度,并使用我自己的自定义表格,我正在计算和显示价格。现在我想将计算价格移动到购物车,然后从那里移动到订单生成。我已经检查了购物车的prestashop表,但它正在存储产品ID并加入Products表以获取价格。反正有没有达到我的要求?
答案 0 :(得分:2)
默认情况下,这个功能在prestashop中不可用,我现在不知道任何模块可以做到这一点而不会超载核心功能。我只为您提供理论和一些文件参考。请试一试。
让我们考虑以下一般假设:
a)测量单位为英寸。
b)每英寸价格为5美元
c)您还需要一个价格计算公式,对于此示例,请将其设为
finalPrice = width x height x 5 //width and height are formula variables
现在对于prestashop,您可以执行以下步骤:
1)更新购物车表并添加三个字段,width,height和final_price。 (字段数可能因公式变量而异。)
2)重载购物车类并添加width,height和final_price的属性。此外,您还需要覆盖从购物车中获取所有产品的方法,并检查购物车产品是否具有自定义价格或宽度和高度。此外,所有税费,运费都可以在那里使用。
3)如果您使用的是ajax add to cart功能,那么您需要稍微修改blockcart模块。您可能需要修改ajax-cart.js以获取要发布到购物车控制器的宽度,高度和最终价格值。此外,blockcart-json.tpl可能需要一些修改,因为此文件用于填充购物车块内容。此外,您可能需要修改blockcart.tpl文件,您可以在其中显示blockcart中的宽度和高度等。这样您就可以在blockcart中显示变量。
4)现在下一步实际上是将产品添加到购物车。数据发布到CartController,因此您需要覆盖它,并从发布的数据中接收宽度,高度和最终价格。如果宽度,高度和最终价格可用,您将需要进行适当的检查以检测定制价格产品。
5)您需要覆盖OrderController以使用宽度,高度和最终价格填充购物车页面产品列表。
6)在上述所有理论中,我们已将产品添加到购物车并填充了包含宽度,高度和最终价格数据的街区车和购物车页面。现在下一步是完成订单。为此,您需要使用Order类,订单控制器和购物车类。和order_product表。在产品表中,为cart_products表添加与width,height和final_price相同的字段。然后修改订单类并将这些属性添加到订单类。
7)您需要覆盖PaymentModule类并在validateOrder方法中进行更改。此方法处理订购步骤,保存订单,向客户发送电子邮件以及(如果已启用)站点管理员的最后一步。因此,您需要在产品数据库插入代码中添加宽度,高度和最终价格信息。此外,您还需要将这些变量提供给电子邮件模板,以便客户也可以在电子邮件中获得产品的宽度,高度和最终价格。
8)您还需要修改订单历史记录部分,以便客户也可以在他/她的订单历史记录中查看所有这些详细信息。
9)您需要在管理订单控制器中进行更改,以便在管理员的订单视图部分中显示这些数据。
10)最后(实际上不是最终:P),您需要在pdf发票生成中进行更改,以便宽度,高度和最终价格也显示在pdf发票中。
注意:以上理论来自我在prestashop中使用类似功能的经验,可能根据您的要求为您工作或不工作。
试试这个,我希望你能让它发挥作用:) ..
祝你好运......