T-SOFT/Tema Geliştirme/Temayı Özelleştir

Temayı Özelleştir

Mağaza paneli, mağaza sahibinin kod yazmadan temanın görsel kimliğini düzenlemesini sağlar. 6 renk ve 3 font, T-SOFT tarafından sabit değerler olarak tema motoruna aktarılır; geliştirici bu değerlere hazır semantik Tailwind class'ları (bg-primary, text-body, font-sans…) ile referans verir.

Geliştirici yeni renk veya font ilan edemez. Mevcut 6 + 3 set sabittir. İhtiyaç duyduğunuz renkler bu setle ifade edilemiyorsa semantik olarak en yakın rengi (light, form gibi) kullanın veya CSS dosyanızda sabit değer tanımlayın.

Panel görünümü

Mağaza sahibi, Tema Ayarları ekranından bu kontrollerle çalışır:

Tipografi Ayarları
├── Font                    → Montserrat
├── Secondary Font          → (Seçilmemiş)
└── RTL Font                → (Seçilmemiş)

Renk Ayarları
├── Body Text               → #E31414
├── Primary                 → #000000
├── Secondary               → #AB0000
├── Dark                    → rgb(119 119 119)
├── Light                   → #F3F3F3
└── Form                    → rgb(229 231 235)

Değişken ve class listesi

T-SOFT, panel değerlerini Tailwind kurulumuna aktarır: renkler hem tam skalalı Tailwind renk class'ları (bg-primary, text-body… + bg-primary-50…950 + bg-primary/10 opaklık) hem de :root üzerinde CSS değişkeni olarak (--primary, --body… — değerleri rgb(...)) hazır gelir. Fontlar yalnızca Tailwind class'ı olarak sunulur.

Renkler

Panel etiketiTailwind classCSS değişkeniTipik kullanım
Body Texttext-body--bodyParagraf, açıklama ve nötr metin rengi
Primarybg-primary--primaryBirincil aksiyon — butonlar, vurgu rengi
Secondarybg-secondary--secondaryİkincil aksiyon, alternatif vurgu
Darkbg-dark--darkKoyu zemin, koyu metin
Lightbg-light--lightAçık zemin, section arka planı
Formborder-form--formInput, select, textarea kenar / arka planı
Her renk bg-, text-, border- ön ekleriyle kullanılabilir (text-primary, bg-light, border-form …). Skala için bg-primary-100, opaklık için bg-primary/10 yazın. CSS değişkeni rgb(...) döndürdüğü için ham kullanım da geçerlidir (var(--primary)), ancak skala/opaklık istiyorsanız Tailwind class'ını tercih edin.

Fontlar

Fontların CSS değişkeni yoktur; doğrudan Tailwind class'ı olarak kullanılır:

Panel etiketiTailwind classTipik kullanım
Fontfont-sansTüm vücut metni ve başlıklar (varsayılan)
Secondary Fontfont-secondaryVurgu başlıkları, kampanya yazıları
RTL Fontfont-rtlRTL dilleri (Arapça, İbranice…) için override

Twig + Tailwind içinde kullanım

Semantik Tailwind class'ları ile

<button class="bg-primary text-white px-6 py-3 rounded-custom">
  {{ t.add_to_cart }}
</button>

<input class="border border-form focus:border-primary
              rounded-form px-3 py-2">

<h1 class="font-sans text-body">
  {{ t.welcome }}
</h1>

theme.css içinde

assets/css/theme.css
@layer base {
  body {
    @apply font-sans text-body bg-light;
  }

  h1, h2, h3 {
    @apply font-secondary;
  }
}

@layer components {
  .btn-primary {
    @apply px-6 py-3 rounded-custom font-medium transition
           bg-primary text-white
           hover:opacity-90;
  }
}
font-secondary ve font-rtl, panelde ilgili font seçilmediğinde Tailwind kurulumunda otomatik olarak Primary fonta (font-sans) geri düşecek şekilde yapılandırılmıştır — ayrıca fallback yazmanıza gerek yoktur.

Tema renkleriyle uyum

Mağaza sahibi panelden Primary'yi koyu yeşile çevirirse, temanız tüm "öne çıkma" alanlarında otomatik bu yeşille render olmalıdır. Bunu sağlamak için iki kural:

Sabit hex'ten kaçının

bg-[#fd6905] yazarsanız, mağaza renk şemasını değiştirdiğinde uyumsuzluk olur. bg-primary kullanın.

Anlamlı semantik atayın

"Buton arkası → Primary, form kenarı → Form, açık panel → Light". Her renkle ne yapacağınız tema boyunca tutarlı olsun.

Eksik değer davranışı

SenaryoDavranış
Mağaza sahibi Secondary Font seçmediysefont-secondary otomatik olarak Primary fonta (font-sans) düşer; ek işlem gerekmez.
RTL Font seçmediysefont-rtl aynı şekilde Primary fonta düşer.
Tema yeni kurulduysaT-SOFT varsayılan bir palet uygular; tema kurulumunda boş görünüm oluşmaz.

En iyi uygulamalar

Sadece 6+3 kullan

Her renk ihtiyacını mevcut sete eşleyin. Yeni değişken üretmeyin.

Semantik class kullan

Renk ve fontları bg-primary, text-body, font-sans gibi semantik class'larla ver; sabit hex/px'ten kaçın.

Tema renk testi

Karanlık Primary + karanlık Body Text gibi kombinasyonlarda sayfaları kontrol edin.

Component class'la sarmala

Aynı bg-primary dizisi 12 yerde tekrarlanıyorsa .btn-primary'ye çek.

Sıradaki adım