Projeler ve ajans desteği için müsait · Hızlı yanıt, işi yapan kişiden

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.

Sorunumu anlatayım Mesaj gönderin

Bir özelleştirme talebine nasıl yaklaşıyorum

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

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

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

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

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

besoin
etat
plan (facultatif)
theme (facultatif)
Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Sıkça sorulan sorular

Düzenleyicide istediğimi yapacak bir ayarı neden bulamıyorum?
Çünkü düzenleyici, yalnızca temanın geliştiricisinin her bölümün şemasında tanımladığı ayarları gösterir. Seçenek tema tasarlanırken öngörülmediyse, sonuç teknik olarak Liquid’de mümkün olsa bile düzenleyicide hiçbir yerde görünmez.
Temayı doğrudan düzenlemek riskli mi?
Düzgün yapılırsa değil: temanın bir kopyası üzerinde ya da yerelde Shopify CLI ile çalışıyorum, asla yayındaki temada değil, ve canlıya almadan önce test ediyorum.
Talebimin basit bir tema düzenlemesi mi yoksa daha büyük bir proje mi olduğunu nasıl anlarım?
Gösterilmesi gereken her şey zaten Shopify’da varsa (ürün, koleksiyon, oturum açmış müşteri, metafield), bu Liquid işidir. Dışarıdan bir hesaplamaya veya Shopify’ın doğal olarak saklamadığı bir veriye bağlıysa, API’yi çağıran bir uygulama gerekir.
Herhangi bir Shopify temasında çalışabilir misiniz?
Standart bir Online Store 2.0 temasında evet. Çok eski ya da zaman içinde birçok kişi tarafından ağır biçimde değiştirilmiş bir temada, önce her zaman bir kod denetimiyle başlarım.