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
| Nesne | Alanlar |
|---|---|
section | Bölümün ayarları ve blokları. Bkz. Bölümler. |
shop | ad, url, telefon, eposta, adres |
logo | url, light_url (koyu zemin için açık logo), height, text (görsel yoksa yazı) |
menu | Üst menü: [{ title, url, links: [...] }] |
menuler | Panel → Menüler: menuler.ana (üst), menuler.alt (alt kısım), aynı biçim |
ana_menu | Mega menü bilgisiyle üst menü: { title, url, mega, links, promo: { image, title, url } } |
yollar | anasayfa, sepet, hesap, ara, favori sayfalarının adresleri |
sepet | sepet.adet: sepetteki ürün adedi |
kart | Satıcının ürün kartı tercihleri (görünüm, görsel oranı, favori düğmesi…) |
uygulamalar | Mağazada açık uygulamalar. Bkz. Uygulamalar. |
ozellikler | Mağazada açık özellikler, ör. ozellikler.iletisim_formu |
kutuda | Bö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
| Nesne | Açıklama |
|---|---|
product | Ürün (aşağıda) |
recommendations | Önerilen ürünlerin kartları |
related | Benzer ürünlerin kartları |
product
Ürün kartının bütün alanları ve şunlar:
| Alan | Açıklama |
|---|---|
handle, subtitle | Adresteki ad, alt başlık |
description | Satıcının açıklaması, temizlenmiş HTML (| raw ile bas) |
excerpt | Açı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 }} |
available | Herhangi bir varyant stokta mı |
categories | [{ title, url }] |
tags | Etiketler (metin dizisi) |
material, dimensions | Malzeme, ölçü (40 × 30 × 5) |
specs | [{ label, value }] teknik özellik satırları |
reviews | Yorumlar 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:
| Alan | Açıklama |
|---|---|
id, title, url | Kimlik, ad, ürün sayfasının adresi |
featured_image, second_image | { url, alt }; ikincisi üzerine gelince göstermek için |
price | En 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_30 | Kartta her zaman boş; yalnız ürün sayfasında dolu (yukarıda) |
price_label | Fiyat gizliyse yerine yazılacak metin ("Teklif ile") |
subtitle | Kısa alt başlık ya da stok kodu |
rating | Yorum ö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
| Nesne | Açıklama |
|---|---|
collection | Kategori ya da bütün ürünler sayfası (aşağıda) |
categories | Kategori 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>