Modüller

Tema dili referansı

Şablonlarda kullanabileceğin filtreler, etiketler ve global nesneler — motorun kaynağından türetilmiştir.

<!-- 🔴 ÜRETİLMİŞ DOSYA — elle düzenlemeyin. Liste ops/apidocs/tema-envanteri-cikar.mjs ile motorun kaynağından türer; açıklamalar content/zenginlestirme/tema-dili.json içinde yaşar. -->

Tema şablonları Liquid ile yazılır (Shopify'ın diliyle uyumlu bir alt küme). Bu sayfadaki listeler motorun kaynağından türetilir: bir filtre eklenince burası da değişir.

🔴 Ziyaretçi sayfasında JavaScript çalışmaz. CSP'de script-src yoktur; script_tag · javascript_tag filtreleri ve {% javascript %} bloğu Shopify uyumluluğu için durur ama tarayıcı çıktılarını sessizce düşürür.

Filtreler (114)

Dize

AdNe yapar
appendSona metin ekler. `{{ 'a' \append: 'b' }} → ab`
prependBaşa metin ekler.
upcaseBüyük harfe çevirir.
downcaseKüçük harfe çevirir.
capitalizeİlk harfi büyütür.
stripBaştaki ve sondaki boşlukları atar.
lstripBaştaki boşlukları atar.
rstripSondaki boşlukları atar.
strip_newlinesSatır sonlarını atar.
newline_to_brSatır sonlarını &lt;br&gt; yapar.
replaceTüm eşleşmeleri değiştirir: `\replace: 'a', 'b'`
replace_firstİlk eşleşmeyi değiştirir.
replace_lastSon eşleşmeyi değiştirir.
removeTüm eşleşmeleri siler.
remove_firstİlk eşleşmeyi siler.
remove_lastSon eşleşmeyi siler.
splitAyraca göre diziye böler: `\split: ','`
sliceAlt dize/dilim alır: `\slice: 0, 3`
truncateKarakter sayısına göre kısaltır (üç nokta ekler).
truncatewordsKelime sayısına göre kısaltır.
escapeHTML özel karakterlerini kaçırır. Dış kaynaklı metni basmadan önce zorunludur.
escape_onceZaten kaçırılmış olanı ikinci kez kaçırmaz.
strip_htmlHTML etiketlerini söker (meta açıklaması üretirken).
url_encodeURL bileşeni olarak kodlar.
url_param_escapeurl_encode ile aynı (Shopify uyumluluğu).
url_escapeURL'de güvenli olmayan karakterleri kodlar.
url_decodeURL kodlamasını çözer.
base64_encodeBase64'e çevirir.
base64_decodeBase64'ten çözer.
base64_url_safe_encodeURL'de güvenli Base64 (+/ yerine -_).
handleizeMetni slug'a çevirir: Ürün Adı → urun-adi
handlehandleize ile aynı.
camelizebir-iki → BirIki
pluralizeSayıya göre tekil/çoğul seçer: `{{ n \pluralize: 'ürün', 'ürün' }}. İkinci argüman verilmezse birincinin sonuna s` ekler — Türkçede ikisini de yazın.
md5MD5 özeti (onaltılık).
sha1SHA-1 özeti.
sha256SHA-256 özeti.
hmac_sha1HMAC-SHA1: `\hmac_sha1: anahtar`
hmac_sha256HMAC-SHA256.

Sayı

AdNe yapar
plusToplar.
minusÇıkarır.
timesÇarpar.
divided_byBöler.
moduloKalanı verir.
absMutlak değer.
ceilYukarı yuvarlar.
floorAşağı yuvarlar.
roundYuvarlar (`\round: 2` ondalık basamakla).
at_leastAlt sınır uygular (verilen değerden küçükse onu döndürür).
at_mostÜst sınır uygular.

Dizi

AdNe yapar
sizeUzunluk (dizi ya da metin).
firstİlk öğe.
lastSon öğe.
joinDiziyi birleştirir: `\join: ', '`
reverseTers çevirir.
sortSıralar (`\sort: 'alan'` ile alan bazlı).
sort_naturalBüyük/küçük harf duyarsız sıralar.
mapAlanı çıkarır: `\map: 'baslik'`
whereAlana göre süzer: `\where: 'tip', 'yazi'`
rejectwherein tersi — eşleşenleri ATAR.
findEşleşen İLK öğeyi verir.
find_indexEşleşen ilk öğenin sırasını verir.
uniqYinelenenleri atar.
compactBoş (nil) öğeleri atar.
concatİki diziyi birleştirir.
sumToplar (`\sum: 'alan'` ile alan bazlı).
group_byAlana göre gruplar; her grup { ad, ogeler } taşır.
defaultDeğer boşsa yedeğini verir: `\default: 'Adsız'. **Liquid&#39;de boş dize DOĞRUdur** — {% if x %}` yerine bunu kullanın.

Para

AdNe yapar
moneyKuruşu para biçimine çevirir: `4999 \money → ₺49,99`. Girdi KURUŞTUR (minor unit); kayan noktayla para hesabı yapılmaz.
money_with_currency₺49,99 TRY
money_without_currency49,99 (simge ve kod yok).
money_without_trailing_zerosKuruş sıfırsa göstermez: 5000 → ₺50

URL / varlık

AdNe yapar
asset_urlTemanın varlığına adres: `'stil.css' \asset_url → /assets/stil.css`
asset_img_urlGörsel türevine adres (ölçü argümanıyla).
img_urlasset_img_url ile aynı.
image_urlasset_img_url ile aynı.
file_urlYüklenen dosyaya adres: /files/&lt;ad&gt;
file_img_urlfile_url ile aynı.
global_asset_urlfile_url ile aynı (Shopify uyumluluğu).
blesyum_asset_urlfile_url ile aynı.
link_toBağlantı üretir: `{{ 'Metin' \link_to: '/yol' }}`. Hem metin hem adres kaçırılır.
withinAdresi koleksiyon yoluna alır: /collections/&lt;handle&gt;&lt;adres&gt;
url_for_typeÜrün tipi süzgecine adres.
url_for_vendorSatıcı süzgecine adres.
payment_type_img_urlÖdeme yöntemi simgesi: /assets/payment/&lt;ad&gt;.svg

HTML / medya

AdNe yapar
stylesheet_tag&lt;link rel=&quot;stylesheet&quot;&gt; üretir.
script_tag🔴 &lt;script src&gt; üretir ama ziyaretçi sayfasında ÇALIŞMAZ: CSP'de script-src yoktur ve tarayıcı betiği sessizce düşürür. Shopify uyumluluğu için durur; kullanmayın.
javascript_tag🔴 script_tag ile aynı — çalışmaz (yukarıdaki uyarı).
image_tag&lt;img&gt; üretir (alt metni ve ölçü argümanlarıyla).
external_video_urlGömme adresini verir (YouTube/Vimeo).
external_video_tagGömme &lt;iframe&gt;i üretir.
video_tag&lt;video controls&gt; üretir.
model_viewer_tag&lt;model-viewer&gt; üretir.
media_tagMedya türüne göre uygun etiketi seçer (video · external_video · model · görsel).
highlightArama teriminin geçtiği yerleri &lt;strong&gt; ile işaretler.
highlight_active_tagEtkin etiketi &lt;span class=&quot;active&quot;&gt; ile sarar.
form_errorsForm hatalarını &lt;ul&gt;&lt;li&gt; listesine çevirir (her hata kaçırılır).

Renk

AdNe yapar
color_to_rgbrgb(r, g, b) biçimine çevirir.
color_to_hex#rrggbb biçimine çevirir.
color_to_hslhsl(h, s%, l%) biçimine çevirir.
color_extractBileşen okur: `\color_extract: 'hue'. Geçerli bileşenler: red · green · blue · hue · saturation · lightness`. Bunlar filtre değil, bu filtrenin argümanıdır.
color_lightenAçar (yüzde).
color_darkenKoyulaştırır (yüzde).
color_saturateDoygunluğu artırır.
color_desaturateDoygunluğu azaltır.
color_mixİki rengi karıştırır: `\color_mix: '#fff', 50`
color_modifyTek bileşeni değiştirir: `\color_modify: 'lightness', 40`
color_contrastİki renk arasındaki WCAG kontrast oranı. Marka renginin üstüne hangi metin rengi gideceğine bununla karar verin (4,5 eşiği).
color_differenceİki renk arasındaki toplam fark.
brightness_differenceParlaklık farkı.

Tarih

AdNe yapar
dateTarihi biçimler: `\date: '%d.%m.%Y'. Argüman verilmezse %d.%m.%Y`.

Çeviri (locales)

AdNe yapar
t🔴 Bu motorda ÇALIŞMAZ ve ziyaretçiye translation missing: … basar. Çeviri sözlük NESNESİ ile yapılır: {{ t.anahtar }} (locales/&lt;kod&gt;.json). Tema doğrulayıcısı `\t` kullanımını hata olarak bildirir ve yükleme geçmez.
translate🔴 t ile aynı — kullanmayın (yukarıdaki uyarı).

JSON

AdNe yapar
jsonDeğeri JSON'a çevirir. &lt;script type=&quot;application/ld+json&quot;&gt; içinde kullanırken &lt;/script&gt; kaçışına dikkat edin.

Etiketler (26)

Tümü

AdNe yapar
assignDeğişken atar.
breakDöngüden çıkar.
captureBlok çıktısını değişkene alır.
caseÇoklu dal: {% case x %}{% when &#39;a&#39; %}…{% endcase %}
content_forDüzendeki adlandırılmış yuvaya içerik verir.
continueSonraki adıma geçer.
cycleDeğerler arasında sırayla döner (zebra satır).
decrementSayaç azaltır.
echoDeğer basar ({{ }} ile aynı, liquid bloğu içinde kullanışlı).
forDöngü. Seçenekler: limit: · offset: · reversed. Döngü içinde forloop.index · forloop.first · forloop.last vardır.
formForm açar; action adresini sunucu belirler ve tema ezemez.
ifKoşul. {% if x %}…{% elsif y %}…{% else %}…{% endif %}
includeParçayı çağırır (snippets/). Çağıranın değişkenlerini GÖRÜR.
incrementSayaç artırır (çıktı verir).
javascript🔴 Blok kabul edilir ama ziyaretçi sayfasında çalışmaz (CSP'de script-src yok).
layoutKullanılacak düzeni seçer.
liquidTek blokta çok satırlı Liquid yazmayı sağlar.
paginateSayfalama bloğu.
renderParçayı yalıtılmış bağlamda çağırır — yalnız verilen argümanları görür. Yeni kodda bunu tercih edin.
schemaBölümün ayar şemasını tanımlar (panelde form olur).
sectionBölümü çizer.
sectionsBölüm grubunu çizer.
styleSatır içi &lt;style&gt; bloğu.
stylesheetstyle ile aynı.
tablerowTablo satırı üreten döngü.
unlessifin tersi.

Global nesneler (18)

Her şablonun gördüğü değişkenler. Tip önemlidir: {{ icerik }} hazır HTML'dir, {% for x in nav %} ise dizi ister.

NesneTipNe taşır
bloknesneBlok şablonunda o bloğun düzleştirilmiş ayarları.
bolgenesneTema bölgelerine yerleştirilen widget'ların çizilmiş HTML'i (WEB25). Boş bölge yer kaplamaz.
brandnesneKiracının markası (BRAND-01). name · logo · favicon · color · on_color. Marka kurulmadıysa hiçbir alan yazılmaz; {% if brand.color %} ile sorup nötr kalın. Alanlar: name · logo · favicon · color · on_color.
breadcrumbmetin (HTML)Hazır kırıntı navigasyonu HTML'i.
dogrulamametin (HTML)Arama motoru doğrulama kodları (&lt;meta&gt;).
duyurumetin (HTML)Duyuru şeridi HTML'i (boşsa yer kaplamaz).
hreflangmetin (HTML)Dil alternatifi &lt;link&gt; etiketleri.
icerikmetin (HTML)Sayfanın gövdesi (blok ağacının çizilmiş HTML'i). Düzen şablonunda yuva budur.
jsonldmetin (HTML)Yapısal veri (&lt;script type=&quot;application/ld+json&quot;&gt; bloğu) — motor üretir.
menu_itemsdiziMenü öğeleri dizisi.
navdiziGezinme öğeleri dizisi.
previewmantıksalSayfa önizleme kipinde mi (mantıksal).
seonesneSEO künyesi (başlık · açıklama · kanonik · OG alanları).
settingsnesneTemanın schema ile tanımladığı ayarların değerleri.
sitenesneSitenin dili ve adı. locale · dir (ltr/rtl, daima yazılır) · title (site adı boşsa anahtar hiç yazılmaz — {% if site.title %} doğru çalışsın diye). Alanlar: locale · dir · title.
stilmetin (HTML)Motorun ürettiği CSS (marka paleti ve blok stilleri).
tnesneÇeviri sözlüğü — locales/&lt;kod&gt;.jsondan doldurulur. Kullanım {{ t.anahtar }}.
yuzenmetin (HTML)Yüzen eylem düğmesi HTML'i.

Kum havuzu bütçeleri

Şablon bu sınırları aşarsa render güvenli biçimde kesilir (sayfa çöker, sunucu çökmez). Gerçek bir tema hiçbirine yaklaşmaz; bir döngü hatası hepsine anında çarpar.

SınırYayınÖnizleme
Döngü adımı500.0002.000.000
render/include derinliği2424
Çıktı boyutu8 MB8 MB
Süre2000 ms8000 ms

Önizleme bütçesi daha cömerttir: yavaş şablonunu görmen gerekir, ama önizleme de sonsuza kadar dönmemeli.