文章分类: 新手必看

关于加价产品和追销产品以及其在购物车绑定方法

大白话修改方法:


加车时,主商品和关联商品会带隐藏属性,用来表示绑定关系。


主商品会带:


_scm_bind = 唯一绑定 ID


addPrice 加价购商品会带:


_scm_bind_to = 主商品的 _scm_bind
_scm_inject_type = addPrice


upsell 追销商品会带:


_scm_bind_to = 主商品的 _scm_bind
_scm_inject_type = upsell


请不要通过商品标题、SKU、handle、商品 ID 写死判断 addPrice 或 upsell,必须通过这些隐藏属性判断。


需要实现:


1. 读取购物车商品属性


在购物车行项目里解析商品属性/properties/line item properties,读取:


  • _scm_bind
  • _scm_bind_to
  • _scm_inject_type
  • _scm_bind_qty
  • _scm_bind_delete


2. 建立绑定关系:


  • 主商品:有 _scm_bind
  • 关联商品:有 _scm_bind_to
  • 当关联商品的 _scm_bind_to 等于主商品的 _scm_bind 时,认为两者绑定


3. addPrice 商品规则:


_scm_inject_type = addPrice


需要做到:


  • 不允许单独删除
  • 不允许手动修改数量
  • 数量必须跟随主商品
  • 主商品删除时,绑定的 addPrice 也要删除
  • addPrice 显示价格 = addPrice 单价 × 当前数量


注意:不要完全依赖购物车接口返回的 line_price,因为有些平台/主题里 line_price 会比 quantity 慢一拍。addPrice 的展示价格应优先用单价乘数量计算。


4. upsell 商品规则:


_scm_inject_type = upsell


默认:


  • 可以识别为关联商品
  • 不强制数量跟随主商品
  • 通常允许单独删除


5. 如果存在规则字段,则按规则字段优先:


数量规则:


_scm_bind_qty


值

含义

1 / allow

允许单独改数量

2 / not_allow

不允许改数量

3 / follow

跟随主商品数量


删除规则:


_scm_bind_delete


值

含义

1 / allow

允许单独删除

2 / not_allow

不允许单独删除


6. 购物车交互要求:


当主商品数量变化时:


  1. 找到所有 _scm_bind_to = 主商品 _scm_bind 的 addPrice
  2. 把 addPrice 数量同步成主商品数量
  3. 同步后刷新购物车 UI / 小计 / 总价


当主商品删除时:


  1. 找到所有 _scm_bind_to = 主商品 _scm_bind 的 addPrice
  2. 一起删除这些 addPrice
  3. 删除后刷新购物车 UI / 小计 / 总价


7. UI 要求:


addPrice 商品:


  • 隐藏删除按钮
  • 隐藏数量加减按钮
  • 只显示当前数量
  • 价格显示为 单价 × 当前数量


upsell 商品:


  • 不要误套 addPrice 的强绑定逻辑
  • 除非 _scm_bind_qty / _scm_bind_delete 明确要求


8. 兼容性要求:


不同平台字段名称可能不同,例如:


  • properties
  • line_item.properties
  • item.properties
  • attributes
  • lineItemProperties


请写一个通用读取函数,能从对象、JSON 字符串、数组属性里读取 _scm_* 字段。


9. 不要做的事:


  • 不要写死具体商品 ID
  • 不要写死具体 SKU
  • 不要写死商品标题
  • 不要只靠 URL handle 判断
  • 不要只隐藏按钮但不处理接口同步
  • 不要只改数量不改价格显示
  • 不要只改前端显示,不处理主商品删除后的 addPrice 残留


最终目标:


  • 用户只能操作主商品。
  • addPrice 自动跟随主商品数量和删除状态。
  • upsell 可识别但不被误强制绑定。
  • 新增 addPrice / upsell 商品时,只要加车属性带对,不需要再改主题代码。


给开发看的极简版


一句话就是:


请在购物车里按 _scm_bind / _scm_bind_to / _scm_inject_type 实现关联商品绑定。addPrice 必须跟随主商品数


本指南只实现功能逻辑,并不涉及UI样式等。



拓展阅读


新手入门



进阶功能



加价与追销


更新于: 26/10/2026

这篇文章有帮助吗?

分享您的反馈意见

取消

谢谢!