在Shopify中,通过SKU而不是Variant ID添加产品

时间:2019-05-04 19:53:32

标签: shopify shopify-template

我知道您可以在Shopify中将具有以下变体ID的产品添加到购物车中:

/cart/add?id=VARIANT_ID

我正在尝试找到一种通过SKU添加它的方法,如下所示:

/cart/add?sku=SKU

那会容易得多,我们的SKU永远不会改变。

如果不可能,是否有办法根据SKU发现变体ID?

1 个答案:

答案 0 :(得分:1)

您总是在Shopify中购买变体。

订单本身会保留一个记录,以变体ID作为参考点。

因此简短的答案是-您无法通过SKU添加产品。

第二个问题:

  

有没有一种方法可以根据SKU发现变体ID?

是的,但这实际上取决于您如何实现SKU部分。

如果您在产品页面上并且拥有SKU,则可以在过滤出变体后获得variant_id。

但是,如果您不在产品页面上,并且有500多种产品,那么最快的方法就是像这样使用GraphQL:

{ 
  productVariants(first: 1, query: "sku:SOMESKU"){
    edges {
      node {
        id
      }
    }
  }
}

它将在其中返回结果的地方,例如:

{
  "data": {
    "productVariants": {
      "edges": [
        {
          "node": {
            "id": "gid://shopify/ProductVariant/14726421905460"
          }
        }
      ]
    }
  },
  "extensions": {
    "cost": {
      "requestedQueryCost": 3,
      "actualQueryCost": 3,
      "throttleStatus": {
        "maximumAvailable": 1000,
        "currentlyAvailable": 997,
        "restoreRate": 50
      }
    }
  }
}

然后您将返回的变体ID传递到购物车。