Varyant ID’sini vitrinden bulun

Panele girmeden Shopify varyant ID’si bulun: ?variant= adresi, /products/<handle>.js, konsol komutu ve Liquid’de selected_or_first_available_variant.

Adres
/products/<handle>?variant=<ID>
JSON
/products/<handle>.js > variants[].id
Liquid
product.selected_or_first_available_variant.id
Plan
Her plan
Son kontrol

Kısaca

Varyant ID’sini bulmak için panel erişimine gerek yok. /products/<handle>.js adresini açın; her varyant id’siyle listelenir. Ya da ürün sayfasında bir seçenek seçin ve birçok temanın adrese yazdığı ?variant= sayısını okuyun. Liquid’de product.selected_or_first_available_variant.id, ?variant= içindeki varyantı ya da ilk stokta olanı verir; variant.url de o varyanta doğrudan link oluşturur.

Nasıl kullanılır

  1. https://your-store.com/products/<handle>.js adresini açın ve varyantı başlığından ya da SKU’sundan bulun.
  2. Ya da ürün sayfasında seçeneği seçip adres çubuğundaki ?variant= sonrasındaki sayıyı kopyalayın.
  3. Tema kodunda mevcut varyant için product.selected_or_first_available_variant, hepsi için product.variants döngüsünü kullanın.
  4. ID’yi sepet permalink’lerinde, /cart/add formlarında ve varyant linklerinde kullanın.

Kod

variant-id.liquid
{%- comment -%}
  The variant to use in a product template: the one in ?variant= if present,
  otherwise the first available. product.selected_variant is nil when the
  URL has no ?variant=.
{%- endcomment -%}
{%- assign current_variant = product.selected_or_first_available_variant -%}

<input type="hidden" name="id" value="{{ current_variant.id }}">

{%- comment -%} A link to one specific variant, e.g. in a size guide or email. {%- endcomment -%}
<a href="{{ current_variant.url }}">{{ product.title }} – {{ current_variant.title }}</a>

{%- comment -%} All variants with their IDs, for a custom picker. {%- endcomment -%}
<select name="id">
  {%- for variant in product.variants -%}
    <option value="{{ variant.id }}" {% if variant == current_variant %}selected{% endif %} {% unless variant.available %}disabled{% endunless %}>
      {{ variant.title }}
    </option>
  {%- endfor -%}
</select>
ways.txt
# 1. Product JSON: every variant with its id
https://your-store.com/products/example-product.js

# 2. The variant in the URL: pick an option on the product page and many
#    themes write it to the address bar
https://your-store.com/products/example-product?variant=12345678901234

# 3. Browser console on a product page
fetch(location.pathname + '.js').then((r) => r.json()).then((p) => console.table(p.variants.map((v) => ({id: v.id, title: v.title, sku: v.sku}))))

# Use the ID for
cart permalink   https://your-store.com/cart/12345678901234:1
deep link        https://your-store.com/products/example-product?variant=12345678901234

Lintel tarafından yazıldı. MIT lisansı: kendi mağazanızda da müşteri işlerinizde de ücretsiz kullanabilirsiniz.

Sınırlar ve özel durumlar

  • Adreste ?variant= yoksa product.selected_variant nil döner; selected_or_first_available_variant ise her zaman bir varyant verir.
  • Her tema seçenek değişince adres çubuğunu güncellemez; .js adresi her zaman çalışır.
  • Destekleyen temalarda varyant linkleri ?option_values=<seçenek değeri ID’leri> biçimini de kullanabilir.
  • Seçeneği olmayan bir ürünün de kendi ID’si olan tek bir varyantı vardır.

Sık sorulan sorular

Shopify varyant ID’si vitrinde nasıl bulunur?
Ürün adresine .js ekleyip variants[].id değerini okuyun ya da varyantı seçip adresteki ?variant= sayısını kopyalayın.
Shopify’da belirli bir varyanta nasıl link verilir?
/products/<handle>?variant=<varyant ID> kullanın; Liquid’de bunu variant.url oluşturur.
selected_variant ile selected_or_first_available_variant arasındaki fark nedir?
selected_variant yalnızca adreste ?variant= varsa dolar. selected_or_first_available_variant ise yoksa ilk stokta olan varyanta döner.
  • Gösterilen tarihte bir Shopify mağazasında denendi. Shopify yönetim panelini sık değiştirir; bir adım farklı görünüyorsa fikir genellikle hâlâ geçerlidir.
  • Örneklerde yer tutucu ID’ler ve your-store.myshopify.com kullanılır. Kendi değerlerinizle değiştirin.
  • Kod parçaları MIT lisanslıdır.

Mağazanız için kurulmasını, test edilmesini ve bakımını isterseniz: Shopify geliştirme.

Geliştirmek istediğiniz bir şey mi var? Gelin, birlikte konuşalım.

Aynı anda sınırlı sayıda proje alıyoruz.

Gencer KarakayaShopify mühendisi

Proje özetinizi bir mühendis okur; size e-postayla yanıt veririz.