Tema ayarları, çeviriler ve varlıklar
Temanın tamamını etkileyen ayarlar, metinlerin çevirisi ve stil/betik dosyaları bu üç yapıyla yönetilir.
settings_schema.json
config/settings_schema.json temanın kendi ayar şemasıdır. Bir dizidir; her eleman name ve settings taşıyan bir ayar grubudur. theme_info adlı grup yalnız tema künyesidir ve ayar taşımaz. Ayarlar bölüm şemasıyla aynı tipleri ve aynı doğrulamayı kullanır.
[
{ "name": "theme_info", "theme_name": "İlk Tema", "theme_version": "1.0.0" },
{
"name": "Renkler",
"settings": [
{ "type": "color", "id": "vurgu_rengi", "label": "Vurgu rengi", "default": "#00fdc7" }
]
}
]
Değerler nerede durur
Şablonda bir ayar settings üzerinden, ayarın id değeriyle okunur. Değer şöyle çözülür: önce şemadaki default (yoksa tipin doğal varsayılanı), üstüne tüccarın editörde seçtiği değer. Tüccarın değerleri platformda saklanır; config/settings_data.json dosyası çizimde okunmaz, bu yüzden değerleri o dosyaya yazmayın, şemada default verin. Şemadan kaldırılan bir ayarın eski değeri yok sayılır.
<body style="--vurgu: {{ settings.vurgu_rengi }}">Renk şemaları desteklenir: en çok 10 şema, her biri background, text, button ve button_label renklerini taşır.
Çeviriler (locales)
Çeviri dosyaları locales/ klasöründe durur. Adı .default.json ile biten dosya tabandır; mağazanın dilindeki locales/DIL.json dosyası anahtar anahtar üstüne biner. Şablonda t filtresi noktalı anahtarla okur.
{
"genel": { "telif": "© {{ magaza }} — Zone ile çizildi" },
"karsilama": { "alt_yazi": "Bu sayfa en küçük örnek temadan çiziliyor." }
}
{{ 'genel.telif' | t: magaza: shop.name }}Değişkenler çeviri metninde çift süslü parantezle yazılır ve filtreye adlı parametre olarak verilir. Anahtar bulunamazsa anahtarın kendisi basılır; böylece eksik çeviri görünür kalır. Çoğul biçimler desteklenmez. Etkin dil mağazanın varsayılan dilidir.
Varlıklar
assets/ klasöründeki dosyanın adresi asset_url filtresiyle üretilir; adres dosya değiştikçe yenilenen bir sürüm parametresi taşır. stylesheet_tag ve script_tag bu adresten hazır etiket üretir.
{{ 'tema.css' | asset_url | stylesheet_tag }}
{{ 'tema.js' | asset_url | script_tag }}
<img src="{{ product.featured_image | image_url: width: 600 }}" alt="">Mağaza alan adından yalnız css, js, mjs, svg ve txt uzantılı varlıklar sunulur; alt klasör kullanılamaz ve varlık dosyaları şablon olarak işlenmez. Görseller için varlık klasörünü değil, mağazanın dosya ve ürün görsellerini image_url filtresiyle kullanın; filtre width, height ve crop parametrelerini adrese ekler.