fecshop商品结算的单价和总价,我觉得不合理

需求分享 · tgy3300 · 于 5年前 发布 · 1816 次阅读

经过测试,fecshop的商品结算如下:

当商品设置有自定义选项且自定义选项必选时

单价算法是:(销售价格 + 自定义选项价格) * 1

总价算法是:(销售价格 + 自定义选项价格) * 购买个数

比如有一件衣服,其销售价格是200元,该衣服有红、绿、蓝三种款式,款式价格如下

红:200元

绿: 210元

蓝: 220元

上线后,访客在前端商品网页上选择蓝色款式的衣服,添加到购物车后

价格显示上应该为:220元才对

但fecshop显示为:销售价格200 + 蓝色款式价格220 = 420元

这就不对了

共收到 3 条回复
Fecmall#15年前 0 个赞

1.这个没有对错,只有实现的逻辑方式,只要逻辑是的,就不能用对错讨论。

2.Fecshop的价格体系,参考的magento的实现

自定义属性价格 = 产品基础价格 + 自定义价格

2.1对于大多数商品来说,各个颜色尺码的价格基本都是一样的,那么使用产品的基础价格即可,自定义价格设置为0即可

2.2如果某个颜色尺码的商品比基础价格高,那么填写正数的值(差值)即可

2.3如果某个颜色尺码的商品比基础价格低,那么填写负数的值(差值)即可

3.如果你坚持想要你的那种实现方式,那么进行二开重写fecshop的价格实现部分功能即可。

Fecmall#25年前 0 个赞

补充:为什么 要这样设计呢?

因为产品除了基本价格,还有特价(special_price)批发价(tier_price)等价格,如果自定义属性价格直接设置的是固定值,而不是差值,那么,当产品设置了特价,那么各个自定义选项是否都需要单独设置特价?

因此使用差值的方式更加的灵活

譬如:产品的基本价格为10,红色的自定义价格为0,蓝色的自定义价格为1,那么最终价格

红色:10

蓝色:11

现在开始打特价,整体便宜1块钱,那么设置特价(special_price)为9元,那么最终价格

红色价格 = 9 + 0 = 9

蓝色价格 = 9 + 1 = 10

另外还有批发价格(tier_price)等等,用累加的方式更为灵活。

tgy3300#35年前 0 个赞

嗯,明白了,

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics