У продукта Shopify нет варианта, но идентификатор отображается в URL - PullRequest
0 голосов
/ 17 мая 2018

У меня странная ситуация, когда в моем продукте нет вариантов, но в URL-адресе отображается идентификатор варианта в ссылке на товар в корзине ...

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);

но эти изменения не работают.

И я на самом деле тоже не хочу удалять этот код, потому что у меня есть некоторые продукты с вариантами. Мне просто интересно, почему продукт показывает идентификатор варианта в URL, не имея варианта ...

1 Ответ

0 голосов
/ 17 мая 2018

У каждого продукта в магазине есть хотя бы один вариант.

Если вы не установили ни одного варианта, он называется вариантом "По умолчанию".

Если вы прочитали документацию здесь: https://help.shopify.com/themes/liquid/objects/product вы заметите, что есть свойство с именем has_only_default_variant, которое проверяет, есть ли у продукта вариант по умолчанию.Это то, о чем я говорю.

Каждый раз, когда вы покупаете продукт в Shopify, вы покупаете вариант этого продукта (даже если этот вариант является вариантом по умолчанию, который вы не видите в списке враздел вариантов).

Чтобы просмотреть ответ JSON о покупке своего продукта, зайдите на страницу продукта из панели администратора и введите .json после URL-адреса.Примерно так /admin/products/189421092890.json, и вы сможете увидеть вариант по умолчанию для этого продукта.

Так что, если вам не нравится показывать вариант для продуктов с вариантом по умолчанию, просто используйте флажок product.has_only_default_variant и измените атрибут href ссылки, которая указывает на страницу продукта, чтобы она не включала идентификатор варианта по умолчанию.

...