php - 购物车价格变动

标签 php asp.net ruby-on-rails

假设我有一台 600.00 的笔记本电脑。假设我将其更改为 650.00 美元。购物车如何处理?比如他们是将价格存储在购物车还是商品中?他们如何确保他们得到他们想要的价格,而不是在没有询问客户的情况下向客户收取新的零钱?还是大多数都将它们存储在两者中?

我在想也许我可以将它存储在两者中。 因此,如果当前价格高于商品的购物车价格,请不要将其从购物车中移除/开具账单。然后,告诉他们开票的内容/通过电子邮件发送未更改但已开票的商品的收据(比如他们有不止一件商品),然后将其从购物车中删除。对于确实发生变化的商品,可以这样说:“由于价格变动,商品留在购物车中,请检查您是否仍想以新价格购买商品。”因此,将更改的商品保留在购物车中,但更新购物车中的价格。

这就是我的想法。我认为语言应该无关紧要。猜猜这更像是一个逻辑类型的问题。大多数购物车都是这样做的还是有更好的方法?

最佳答案

简单的购物车只是通过 session 和 cookie 维护的产品数组。你可以做任何你想做的事。只要确保用户不能做任何他们想做的事情,例如通过 url 更改价格。但最重要的是让用户结账变得非常、非常、非常容易。

大多数开发人员会创建一个包含产品对象的数组,因此如果对产品进行任何更改,购物车将反射(reflect)此更改。但是,如果您更改价格,那么很明显,如果用户点击了价格,然后您更改了价格,并且用户直到他们付款后才看到此更改,或者对为什么价格在购物体验中上涨感到困惑.

在维护订单项方面,如果您让用户在他们可以将东西添加到购物车之前登录,那么您无需担心创建 cookie/ session 来存储订单项数组,直到他们结账行项目连同其信息一起保存以供日后引用。

在这种情况下,您要做的是创建一个与对象相关联的订单项,这样您就可以获取所有产品信息,但同时将价格存储在该实际 LineItem 中模型,因此如果您确实更新了价格,则不会影响购物者的购买体验。

如果您因为改变主意并希望使用订单项模型而希望用户支付更高的价格,您可以按照最后一段中的说明进行操作,并在用户决定结帐之前检查价格。如果不同,请告诉他们该产品现在的购买量为 x,不要忘记道歉。

关于php - 购物车价格变动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4236506/

相关文章:

php - MySQL 日期查询不起作用

javascript - 从 Javascript 关闭子窗口

ruby-on-rails - 格式化日期 ruby

ruby-on-rails - 设置IIS和jRuby的说明

ruby-on-rails - 带迭代器的 Rails 助手

javascript - 使用 Json_encode 然后传递给数据属性

php - 从所选复选框的数据库中选择全部

php - 全新安装的 laravel 5.6 在索引页面中获取 HTTP ERROR 500

c# - 如何使用 C# 访问特定的 XML 元素

asp.net - CSS Problems : Advertise over 2 divs, 布局问题