我有一个奇怪的情况,我的产品没有任何变种,但是Url在购物车的产品链接中显示变体ID ...
ex)www.website.com/products/singleProduct?variant=12345678901
我已尝试将enableHistoryState设置为false,
enableHistoryState: false
并删除
if (!history.replaceState || !variant) {
return;
}
var newurl = window.location.protocol + '//' + window.location.host + window.location.pathname + '?variant=' + variant.id;
window.history.replaceState({path: newurl}, '', newurl);
但这些改变不起作用。
我实际上并不想删除这些代码,因为我确实有一些带有变体的产品。 我只是想知道为什么产品在网址中显示变体ID而没有变体...
答案 0 :(得分:1)
shopify中的每件商品都至少有一种变体。
如果您尚未设置任何变体,则称为“默认”变体。
如果您在此处阅读文档:https://help.shopify.com/themes/liquid/objects/product,您会注意到有一个名为has_only_default_variant
的属性会检查产品是否具有默认变体。这就是我所说的。
任何时候您在Shopify购买产品时,您购买的是该产品的变体(即使该变体是默认变体,您也不会在变体部分中看到它)。
您可以在管理面板中查看产品JSON响应购买进入产品页面,然后在URL地址后面输入.json
。所以像/admin/products/189421092890.json
这样的东西,您将能够看到该产品的默认变体。
因此,如果您不想显示具有默认变体的产品的变体,只需使用检查product.has_only_default_variant
并修改指向产品页面的链接的href
属性,以便它不包含默认变体ID。