简介
在 Shopify 中,cart transform 扩展(Cart Transform Extension) 是一种用于在结账流程前,动态修改购物车内容的功能。它通过 Shopify Functions 实现,允许你在服务器端修改购物车中商品的排列、数量、属性、折扣逻辑等,从而为商家提供更细粒度的控制。
🧩 一、什么是 Cart Transform Extension?
Cart Transform Function 属于 Shopify Functions 之一。它允许开发者拦截和修改购物车,在 cart
被结账或修改之前注入逻辑,比如:
-
自动添加赠品
-
合并相似商品
-
修改行项价格
🔧 二、触发时机
Cart Transform function 在以下情况触发:
-
用户添加商品到购物车
-
修改购物车项(如数量、属性)
-
结账前触发checkout
安装
shopify app项目中,终端运行: shopify app generate extension --template cart_transform生成代码模板。
扩展代码结构
对于Function扩展来说只需要关注src下的两个文件run.graphql和run.js。
操作解释说明
run.graphql定义 Function 的 GraphQL 接口,负责从服务器端获取数据,需遵循接口文档定义好的结构,参考以下链接。
run.js处理输入的购物车数据,生成一个标准格式的操作列表,这些操作会改变购物车中商品的价格显示和展示方式
export function run(input) {
...
return {
operations: [
...
],
}
};
input中接受run.graphql定义的数据,operations返回具体操作,其中operations 有三种操作类型
- lineExpand:用于扩展单行项,适用于买X的Y等等。
- linesMerge:用于将多个行项变为单行,适用于商品组合,购买A、B、C组成"ABC"礼包获取优惠等等。
- lineUpdate:用于更新单个行项,使用于单行达到某种特定条件获取折扣等等。
以下为常见操作:
需要执行mutation CartTransformCreate function才可生效
具体参考链接:Cart Transform Function API