Liquid nesneleri

Şablonun okuyabildiği her şey. Adlar Shopify'a yakın; fiyatlar biçimli metin olarak gelir.

Şablon yalnız bu sayfadaki nesneleri görür. Dil LiquidJS tabanlıdır: if, for, assign, capture, case, render ve standart süzgeçler (default, size, split, date…) çalışır. MultiKolay'ın kendi süzgeçleri: Süzgeçler.

Her sayfada

NesneAlanlar
sectionBölümün ayarları ve blokları. Bkz. Bölümler.
shopad, url, telefon, eposta, adres
logourl, light_url (koyu zemin için açık logo), height, text (görsel yoksa yazı)
menuÜst menü: [{ title, url, links: [...] }]
menulerPanel → Menüler: menuler.ana (üst), menuler.alt (alt kısım), aynı biçim
ana_menuMega menü bilgisiyle üst menü: { title, url, mega, links, promo: { image, title, url } }
yollaranasayfa, sepet, hesap, ara, favori sayfalarının adresleri
sepetsepet.adet: sepetteki ürün adedi
kartSatıcının ürün kartı tercihleri (görünüm, görsel oranı, favori düğmesi…)
uygulamalarMağazada açık uygulamalar. Bkz. Uygulamalar.
ozelliklerMağazada açık özellikler, ör. ozellikler.iletisim_formu
kutudaBölüm bir kutunun ya da sütunun içindeyse true (kenar boşluğu verme)
<a href="{{ yollar.anasayfa }}">
  {%- if logo.url != blank -%}<img src="{{ logo.url | image_url: width: 320 }}" alt="{{ shop.ad }}" style="height: {{ logo.height | default: 32 }}px">
  {%- else -%}{{ logo.text | default: shop.ad }}{%- endif -%}
</a>
<a href="{{ yollar.sepet }}">Sepet ({{ sepet.adet }})</a>

Ürün sayfasında

NesneAçıklama
productÜrün (aşağıda)
recommendationsÖnerilen ürünlerin kartları
relatedBenzer ürünlerin kartları

product

Ürün kartının bütün alanları ve şunlar:

AlanAçıklama
handle, subtitleAdresteki ad, alt başlık
descriptionSatıcının açıklaması, temizlenmiş HTML (| raw ile bas)
excerptAçıklamanın kısa düz metni (220 karakter)
images[{ url, alt }]
options[{ id, name, values: [...] }], ör. Renk: Krem, Lacivert
variants[{ id, title, sku, available, options: [...], price, compare_at_price, discount, lowest_price_30 }]
lowest_price_30İndirimdeyse indirimden önceki 30 günün en düşük fiyatı (İndirimli Satışlar Yönetmeliği), biçimli; bilinmiyorsa ya da indirim yoksa boş. İndirimli fiyatın yanında gösterin: Son 30 günün en düşük fiyatı: {{ p.lowest_price_30 }}
availableHerhangi bir varyant stokta mı
categories[{ title, url }]
tagsEtiketler (metin dizisi)
material, dimensionsMalzeme, ölçü (40 × 30 × 5)
specs[{ label, value }] teknik özellik satırları
reviewsYorumlar açıksa: average, count, items, can_review; kapalıysa boş
quote"Teklif iste" ürünüyse ayarları (button_text, show_price…), değilse boş
ozelÜrünün özel alanları

Ürün kartı

Liste sayfaları, öneriler ve product/collection ayarları ürünleri kart olarak verir:

AlanAçıklama
id, title, urlKimlik, ad, ürün sayfasının adresi
featured_image, second_image{ url, alt }; ikincisi üzerine gelince göstermek için
priceEn uygun fiyat, biçimli: 1.849,90 ₺
compare_at_priceİndirimdeyse eski fiyat, değilse boş
discount, on_sale, percentage_diff-%15, indirim var mı, yüzde
lowest_price_30Kartta her zaman boş; yalnız ürün sayfasında dolu (yukarıda)
price_labelFiyat gizliyse yerine yazılacak metin ("Teklif ile")
subtitleKısa alt başlık ya da stok kodu
ratingYorum özeti { average, count, average_text }, yoksa boş

Fiyatlar para birimi, kampanya ve "teklif iste" kuralları uygulanmış olarak gelir; şablonda hesaplama yapma.

<a class="kart" href="{{ p.url }}">
  {%- if p.featured_image -%}<img src="{{ p.featured_image | image_url: width: 600 }}" alt="{{ p.featured_image.alt }}" loading="lazy">{%- endif -%}
  <h3>{{ p.title }}</h3>
  <span class="fiyat">{{ p.price_label | default: p.price }}</span>
  {%- if p.compare_at_price != blank -%}<s>{{ p.compare_at_price }}</s>{%- endif -%}
</a>

Ürün listesi sayfasında

NesneAçıklama
collectionKategori ya da bütün ürünler sayfası (aşağıda)
categoriesKategori ağacı (süzgeç menüsü için)

collection'ın alanları: title, description (HTML), image, url, products (kartlar), products_count, page, total_pages, next_url, previous_url, sort_options ([{ value, label, selected, url }]), filters ([{ key, label, values: [{ value, count, active, url }] }]), active_filters_count, clear_url, price_filter, parents, children, ozel.

{%- for p in collection.products -%}{% render 'urun-karti', p: p %}{%- endfor -%}
{%- if collection.next_url != blank -%}<a href="{{ collection.next_url }}">Sonraki sayfa</a>{%- endif -%}

İçerik sayfasında

page: title, content (temizlenmiş HTML, \| raw ile bas), url, ozel.

<article>
  <h1>{{ page.title }}</h1>
  {{ page.content | raw }}
</article>

Bu sayfada