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.

config/settings_schema.json
[
  { "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.

Zone
<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.

locales/tr.default.json
{
  "genel": { "telif": "© {{ magaza }} — Zone ile çizildi" },
  "karsilama": { "alt_yazi": "Bu sayfa en küçük örnek temadan çiziliyor." }
}
Zone
{{ '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.

Zone
{{ '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.