Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Shopify产品没有变体,但id显示在url中_Javascript_Url_Shopify_Liquid_Product - Fatal编程技术网

Javascript Shopify产品没有变体,但id显示在url中

Javascript Shopify产品没有变体,但id显示在url中,javascript,url,shopify,liquid,product,Javascript,Url,Shopify,Liquid,Product,我遇到了一个奇怪的情况,我的产品没有任何变体,但Url在购物车的产品链接中显示变体id 例如www.website.com/products/singleProduct?变量=12345678901 我已尝试将enableHistoryState设置为false enableHistoryState: false 而且还删除了 if (!history.replaceState || !variant) { return; } var newurl = window.locati

我遇到了一个奇怪的情况,我的产品没有任何变体,但Url在购物车的产品链接中显示变体id

例如www.website.com/products/singleProduct?变量=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);
但这些改变不起作用

实际上我也不想删除这些代码,因为我有一些带有变体的产品。
我只是想知道为什么产品在url中显示变体id而没有变体…

shopify中的每个产品都至少有一个变体

如果没有设置任何变量,则称为默认变量

如果您阅读这里的文档:您会注意到有一个名为has_only_default_variant的属性,用于检查产品是否具有其默认变量。这就是我要说的

在Shopify中购买产品时,您购买的是该产品的变体,即使该变体是默认变体,您也不会在变体部分中看到它

您可以从管理面板进入产品页面并在URL地址后键入.JSON来查看产品JSON响应。比如So/admin/products/189421092890.json,您将能够看到该产品的默认变量


因此,如果您不想显示带有默认变体的产品的变体,只需使用check product.has_only_default_变体,并修改指向产品页面的链接的href属性,使其不包含默认变体id。

非常感谢您的详细解释,这让我找到了解决方案: