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
- https://your-store.com/products/<handle>.js adresini açın ve varyantı başlığından ya da SKU’sundan bulun.
- Ya da ürün sayfasında seçeneği seçip adres çubuğundaki ?variant= sonrasındaki sayıyı kopyalayın.
- Tema kodunda mevcut varyant için product.selected_or_first_available_variant, hepsi için product.variants döngüsünü kullanın.
- 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.
Shopify belgeleri
- 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.
