Shopify temasını düzenleyicinin ötesinde özelleştirmek
Shopify tema düzenleyicisi, yalnızca temanın geliştiricisinin her bölümün {% schema %} dosyasında tanımlamayı seçtiği ayarları gösterir. Bir talep bu kapsamın dışına çıktığında — koşullu bir yerleşim, bir bölüme özgü davranış — görsel düzenleyicinin dışında doğrudan Liquid, JSON veya CSS üzerinde çalışmak gerekir.
Bir özelleştirme talebine nasıl yaklaşıyorum
-
Ayarın zaten var olup olmadığını kontrol etme
Kod yazmadan önce, istenen sonucun güncel bir Online Store 2.0 temasında düzenleyicide zaten erişilebilir olup olmadığına bakıyorum — birçok talep, kimsenin fark etmediği mevcut bir ayarla çözülüyor.
-
Gerçekte neyin engel olduğunu belirleme
Hiçbir ayar sunulmuyorsa, istenen mantığın saf Liquid ile mümkün olup olmadığına (koşullu görüntüleme, bölüm yapısı, bir metafield’e göre içerik) yoksa Liquid’in tek başına erişemediği bir veri gerektirip gerektirmediğine bakıyorum.
-
Temayı yerel ortamda düzenleme
Değişiklik geçmişini korumak ve yayınlamadan önce test edebilmek için çevrimiçi düzenleyici yerine yerelde Shopify CLI ile veya temanın GitHub entegrasyonu üzerinden çalışıyorum.
-
Tema düzenlemesini mini uygulamadan ayırma
Talep, Liquid’in göremediği bir veriye — bir müşterinin sipariş geçmişine, dışarıdan bir hesaplamaya — bağlıysa, fiyat vermeden önce bunu açıkça söylüyorum: artık bu bir tema düzenlemesi değil, Admin API’yi çağıran bir uygulama.
-
Test edip sonra yayınlama
Asla canlı temada değil, çoğaltılmış bir temada test ediyorum; sonuç doğrulandıktan sonra yayınlıyorum.
Sık duyduğum durumlar
- İstediğimi yapmak için düzenleyicide hiçbir ayar bulamıyorum
- Ayarlarda ne değiştirirsem değiştireyim tema hep aynı şeyi gösteriyor
- Önceki geliştiricim temayı doğrudan düzenlemiş, artık neye dokunmanın güvenli olduğunu bilmiyorum
- Bir bölümün, oturum açan müşteriye göre farklı görünmesini istiyorum
- Temamı yapan ajans ‘mümkün değil’ diyor ama nedenini açıklamıyor
Düzenleyici neden orada duruyor
Bir Online Store 2.0 Shopify teması; Liquid şablonlarından, bir sayfanın bölümlerini ve bloklarını tanımlayan JSON şablonlarından ve her bölüm için düzenleyicide görünecek ayarları bildiren bir {% schema %} dosyasından oluşur. Bu şemada tanımlanmayan hiçbir şey, mantığı temanın kodunda mevcut olsa bile, özelleştirme panelinde görünmez.
Liquid, izole bir ortamda çalışan bir şablon dilidir: doğrudan veritabanı erişimi yoktur, sunucu tarafında keyfi kod çalıştırma yoktur. Basit görünen bazı taleplerin — “müşterinin sipariş geçmişine göre farklı içerik göster” gibi — aslında bir tema düzenlemesi olmamasının nedeni tam olarak budur: bunlar, Shopify’ın Admin API’sini çağıran ve sonucu sayfaya ileten küçük bir uygulama gerektirir.
Herhangi bir fiyat vermeden önce, talebin hangi tarafta olduğunu belirliyorum: temayla sınırlı, kendi başına yeterli bir Liquid, bölüm JSON’u veya CSS/JS değişikliği mi; yoksa araç setini ve kapsamı tamamen değiştiren bir uygulama veya Shopify Function gerektiren bir iş mi.
İlgili sayfalar
İhtiyacınızı bir dakikada anlatın
Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.