首页 文章

Prestashop定制/计算产品价格

提问于
浏览
7

我有帆布 Banner 印刷网站 . 我希望客户输入宽度和高度,并使用我自己的自定义表格,我正在计算和显示价格 . 现在我想将计算价格移动到购物车,然后从那里移动到订单生成 . 我已经检查了购物车的prestashop表,但它正在存储产品ID并加入Products表以获取价格 . 反正有没有达到我的要求?

1 回答

  • 3

    默认情况下,此功能在prestashop中不可用,我现在不知道任何模块可以在不重载核心功能的情况下执行此操作 . 我只为您提供理论和一些文件参考 . 请试一试 .

    让我们考虑以下一般假设:

    a)测量单位是英寸 .

    b)每英寸价格是5美元

    c)您还需要一个价格计算公式,对于此示例,我们需要它

    finalPrice = width x height x 5  //width and height are formula variables
    

    现在,对于prestashop,您可以执行以下步骤:

    1)更新购物车表并添加三个字段,宽度,高度和final_price . (字段数可能因公式变量而异 . )

    2)重载购物车类并添加宽度,高度和final_price的属性 . 此外,您还需要覆盖从购物车中获取所有产品的方法,并检查购物车产品是否具有自定义价格或宽度和高度 . 此外,所有税费,运费都可以在那里使用 .

    3)如果您使用ajax添加到购物车功能,那么您将需要稍微修改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发票中 .

    Note : Above theory is from my experience with a similar feature in prestashop and may work or not work for you according to your requirements .

    试试这个,我希望你能使它工作:) ..

    祝好运...

相关问题