首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预自定义/计算产品价格

预自定义/计算产品价格
EN

Stack Overflow用户
提问于 2014-01-08 09:13:57
回答 1查看 4K关注 0票数 6

我有帆布横幅印刷网站。我希望客户输入宽度和高度,并使用我自己的自定义表,我正在计算和显示价格。现在我想把计算好的价格移到购物车上,然后从那里转到订单生成。我已经检查了购物车的预存储表,但是它正在存储Product并连接到Products表以获取价格。是否有达到我的要求?

EN

回答 1

Stack Overflow用户

发布于 2014-01-23 10:37:03

默认情况下,这个特性在预prestashop中是不可用的,而且我目前还不知道有什么模块可以做到这一点,而不需要重载核心功能。我只为你提供理论和一些文件参考。请试试看。

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

( a)测量单位是英寸。

b)每英寸5美元

( c)您还需要一个价格计算公式,对于本例来说,它是

代码语言:javascript
复制
finalPrice = width x height x 5  //width and height are formula variables

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

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

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

3)如果使用ajax to cart特性,则需要稍微修改块车模块。您可能需要修改ajax-cart.js以获得宽度、高度和最终价格值,以便将其发送到购物车控制器。另外,块-json.tpl可能需要一些修改,因为这个文件用于填充cart块内容。此外,您可能需要修改blockcart.tpl文件,您可以在该文件中显示宽度和高度等。这样,您就可以在块车中显示变量。

4)现在下一步实际上是将产品添加到购物车中。数据被发布到CartController,因此您需要覆盖它,并从发布的数据接收宽度、高度和最终价格。您将需要放置适当的检查,如果宽度,高度和最终价格是可用的,或没有检测定制价格产品。

5)您需要重写OrderController来填充带有宽度、高度和最终价格的购物车页面产品列表。

( 6)在上述理论中,我们将产品添加到购物车中,填充了带有宽度、高度和最终价格数据的购物车和购物车页面。现在下一步是完成订单。为此,您需要使用Order类、order控制器和cart类。和order_product表。按照产品表的顺序,在宽度、高度和cart_products表中添加与final_price表相同的字段。然后修改order类并将这些属性添加到order类中。

7)您需要重写PaymentModule类并对validateOrder方法进行更改。此方法处理订购步骤中的最后一步,保存订单,向客户发送电子邮件,如果启用,则向站点管理员发送电子邮件。因此,您需要在订单产品db插入代码中添加宽度、高度和最终价格信息。此外,您将需要提供这些变量的电子邮件模板,以便客户可以获得产品的宽度,高度和最终价格在电子邮件中也。

8)您还需要修改订单历史记录部分,这样客户也可以在他/她的订单历史记录中看到所有这些细节。

9)您需要更改admin控制器,以便在Admin的Order视图部分显示这些数据。

最后(实际上不是最终的:P ),您将需要修改pdf发票的生成,以便宽度、高度和最终价格也显示在pdf发票中。

注:以上理论是根据我在商店前的一个类似特性的经验得出的,根据您的需求,可能为您工作,也可能不为您工作。

试试这个,我希望你能把它做好:)

好运..。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20991271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档