T-SOFT/Tema Geliştirme/Sıfırdan Tema Geliştirmek

Sıfırdan Tema Geliştirmek

Bu sayfa, kendi temanızı en baştan geliştirme akışını anlatır: bir geliştirme mağazası açar, tema iskelesini oluşturur (veya mevcut bir temayı fork'lar), canlı yenilemeyle geliştirir ve sunucuya yayınlarsınız.

Devam etmeden önce Kurulum adımlarını (hesap + CLI + tsoft login) tamamlamış olmalısınız. Komutların hangi dizinden çalıştırıldığı önemlidir — bkz. Çalışma Dizini.

Geliştirme mağazası açın

Partner panelindeki Mağazalar sekmesinden Mağaza Oluştur ile organizasyonunuza ait bir demo mağaza açın. Bu mağaza gerçek satış için değil, geliştirme ve test için izole bir ortamdır. tsoft login sırasında bu mağazayı seçerek çalışırsınız.

Tema oluşturun

İki yol vardır: boş bir iskeleyle başlamak ya da mevcut bir temayı temel almak.

Yeni tema iskelesi

tsoft theme create
tsoft theme create
# 🎨 Yeni tema oluşturuluyor...
# ? Tema Adı: My Theme
# ? Açıklama: Modern e-ticaret teması
# ? Starter tema ile başlansın mı? (Y/n)
# 🎉 Tema başarıyla oluşturuldu!
#    Konum: ./example-tsoft-biz/my-theme/

Tema adını argüman olarak da verebilirsiniz — bu durumda ad sorulmaz:

Terminal
tsoft theme create my-theme

Tema oluştuktan sonra dizine girin; geliştirme komutlarını buradan çalıştıracaksınız:

Terminal
cd example-tsoft-biz/my-theme

Mevcut bir temayı fork'lamak

Bir başlangıç temasını temel alarak yeni bir tema oluşturur. Komut argümansız çalıştırıldığında fork'lanacak temayı listeden seçersiniz:

tsoft theme fork
tsoft theme fork
# ? Hangi temayi fork etmek istiyorsunuz:
# ❯ Starter Theme
#   Modern Starter
# ? Starter Theme v1.4.0 fork edilecek. (Y/n)
# Tema fork ediliyor...
# Tema basariyla fork edildi!
#   Tema: my-starter-fork
#   Kaynak: Starter Theme v1.4.0
#   Konum: ./example-tsoft-biz/my-starter-fork/

Kaynak temayı listeden seçmek yerine doğrudan adıyla da verebilirsiniz:

Terminal
tsoft theme fork --from starter-theme
--json modunda interaktif seçim yapılamadığı için kaynak temayı --from ile belirtmek zorunludur: tsoft --json theme fork --from starter-theme.

Temaları listeleme ve aktif tema

Terminal
# Mağazadaki temaları listele
tsoft theme list

# Üzerinde çalışılacak aktif temayı seç
tsoft theme use

Tema listesinde iki farklı işaret görürsünüz:

İşaretAnlamı
(Seçili)Üzerinde çalıştığınız tema — theme use, theme pull veya bulunduğunuz dizin belirler.
(Yayında)Mağazada aktif olarak yayında olan, müşterilerin gördüğü tema.

Bu ikisi aynı tema olmak zorunda değildir; taslak bir tema üzerinde çalışırken yayındaki tema değişmeden kalır.

Geliştirme komutları tema dizininden çalıştırıldığında mağaza ve tema bulunduğunuz dizinden çözülür — bkz. Çalışma Dizini. Tema dizininin dışındaysanız theme use ile seçilmiş aktif tema kullanılır.

Geliştirme modu

tsoft theme dev, dosya değişikliklerini izler ve her kayıtta değişikliği anında mağazaya gönderir. Komutu tema dizininden çalıştırın:

tsoft theme dev
cd example-tsoft-biz/my-theme
tsoft theme dev
# 🚀 Geliştirme ortamı başlatılıyor...
# 📍 Aktif Site: example.tsoft.biz
# 📍 Aktif Tema: my-theme
# ✓ Çalışma dizini: ./example-tsoft-biz/my-theme
# 🔒 Lock durumu kontrol ediliyor...
# ✓ Kilit başarıyla alındı
#
# 👀 İzleniyor · P önizleme · S section · Ctrl+C çıkış
#
# ✓ section/header/default.twig → Kaydedildi (420ms)
# 🧩 section güncellendi: header

Dev modunun bilmeniz gereken davranışları:

DavranışAçıklama
Anlık güncellemeDosya kaydedildiğinde anında sunucuya gönderilir.
Silme de yansırYerelde sildiğiniz dosya mağazadan da kaldırılır.
Özel kilitDev modu tema üzerinde kilit alır; aynı anda tek geliştirici çalışır. Siz çalışırken kilidi başkası alırsa CLI kilidin kimde olduğunu söyler ve dev modunu durdurur — diğer geliştiricinin çalışmasının üzerine yazılmaz.
Keep-aliveBağlantı 30 saniye aralıklarla korunur. Ctrl+C ile çıktığınızda kilit sonraki oturum için saklanır.
Otomatik kurtarmaSenkronizasyon hatalarında yeniden dener.

Klavye kısayolları

İzleme sürerken durum satırındaki tuşları kullanabilirsiniz:

TuşNe yapar
PMağazanın önizleme adresini tarayıcıda açar. Yalnızca tema için bir önizleme adresi varsa durum satırında görünür.
SSection menüsünü açar. Menü açıkken dosya izleme duraklar, menüden çıkınca tema yeniden senkronize edilip izleme kaldığı yerden devam eder.
Ctrl+CÇıkış. Kilit sonraki oturum için saklanır.

section/ altındaki bir dosyayı kaydettiğinizde, normal kaydetme satırının yanında ayrıca 🧩 section güncellendi satırı yazılır — böylece section değişikliklerinin sunucuya ulaştığını görürsünüz.

İzlenen dosya türleri: .twig, .theme, .css, .js, .json, .md, .svg, .png, .jpg, .jpeg, .gif, .webp.

Gizli dosya ve dizinler (. ile başlayanlar) izleme dışıdır — otomatik olarak yok sayılır.

Yayınlama

Geliştirme bittiğinde temayı sunucuya gönderin. Push, temanın taslak (draft) sürümünü günceller:

tsoft theme push
tsoft theme push
# Sunucuya bağlanılıyor...
# Mevcut durum kontrol ediliyor...
# ✔ Push tamamlandı
#
#   1.0.0 -> 1.1.0 (minor)
#   Mevcut draft güncellendi
#
#   Sections: +2 yeni, ~1 kaldırıldı
#   Templates: +1 yeni
#
#   https://partners.tsoft360.com/r/.../themes/my-theme
#   Temanı partner panelinde görüntüle.

Sürüm numarasını ve artış türünü (patch / minor / major) sunucu belirler — push sırasında size sorulmaz. Değişikliklerinizin kapsamına göre hesaplanan yeni sürüm çıktıda 1.0.0 -> 1.1.0 (minor) biçiminde gösterilir.

Değişiklik özeti dosya bazlı değil, kategori bazlıdır:

KategoriKapsam
SectionsEklenen / kaldırılan section'lar
TemplatesEklenen / kaldırılan şablonlar
MetaMeta nesne ve alan değişiklikleri

Yerel dosyalarınız sunucudaki taslakla aynıysa push bir şey göndermez:

Değişiklik yoksa
tsoft theme push
# ℹ Değişiklik yok — mevcut draft güncel.
İlk push'ta sürümün yanında (ilk push) etiketi ve Admin onayından sonra 1.0.0 olarak yayınlanacak satırı görünür. Tema incelemedeyken yeni push yapılamaz (PUSH-PENDING-REVIEW); inceleme tamamlanana kadar bekleyin veya partner panelinden işlem yapın.
Push, hedef mağaza ve temayı işlem öncesinde yazdırır — yanlış mağazada çalıştığınızı sonrasında değil, öncesinde görürsünüz.

CI/CD entegrasyonu için --json bayrağı makine tarafından okunabilir çıktı üretir; --verbose hata durumunda sunucu yanıtının ayrıntısını gösterir:

CI/CD
tsoft theme push --json
# { "status": "success", "command": "theme push",
#   "data": { "version": "1.1.0", "bump_type": "minor",
#             "action": "updated", "changes": [ ... ],
#             "partner_panel_url": "https://partners.tsoft360.com/..." } }

Belirli bir mağazaya, aktif mağazayı değiştirmeden push yapmak için --store kullanabilirsiniz:

Terminal
tsoft --store musteri.tsoft.biz theme push

Partner panelinde temalarınız

Temalar sekmesi geliştirdiğiniz tüm temaları listeler:

Filtreİçerik
TümüBütün temalar — taslak, yayında ve markette dahil
YayındaBir mağazada aktif olarak kullanılan temalar
MarketteT-SOFT Tema Mağazası'nda yayınladığınız temalar

Her tema kartında sürüm, indirme sayısı, mağaza sayısı ve durum etiketini (Taslak / Yayında) görürsünüz.

Temayı T-SOFT Tema Marketi'nde yayınlamak istiyorsanız, push sonrası hazırlık bilgilerini doldurup incelemeye göndermeniz gerekir. Bkz. Tema Marketine Gönderme.
Komut ağacının tamamı, section komutları ve hata kodları için bkz. CLI Referansı.

Sonraki adımlar