İçeriğe atla
M. Fehmi ToktayYazılım ve Shopify geliştiricisi

Geliştirme

Shopify tema geliştirme — Liquid

Mağazanın görünen tarafı. Uygulama kurmadan çözülebilecek işlerin çoğu burada çözülür — hem daha hızlı hem mağazaya kalıcı bağımlılık eklemez.

Yazdığım her bölüm tema editöründen yönetilebilir olur. Kod bilmeyen biri metni, görseli, eşiği değiştiremiyorsa iş yarım kalmıştır.

Neleri kapsıyor

Ürün sayfası düzeni

Blok sırası, satın alma butonunun konumu, künye ve fiyat kırılımı, sabit sepet çubuğu. Karar öncesi bilgi yukarı, karar sonrası bilgi aşağı. Sabit çubuk varyant kimliğini tıklama anında okur — yükleme anında sabitlerse müşteri başka varyant seçtiğinde sepete yanlış ürün girer.

Sepet ve çapraz satış

Sepet çekmecesinde tamamlayıcı ürün önerisi, eşikli hediye mekaniği, kargo eşiği barı. Eşik yoksa uydurma bar koymam; eşiğin altına düşünce hediyenin sepetten otomatik çıkması bütün kurgunun en kritik satırıdır.

Bölüm ve blok yazımı

Ayarları tema editöründen yönetilen yeni bölümler. İşaret ettiği kayıt silinmişse blok hiç basılmaz — sessizce boş render eden blok bırakmam.

Hız ve düzen kayması

Görsel boyutlandırma, kart ızgarasına göre doğru boyut isteme, gereksiz üçüncü parti script temizliği, asenkron içeriğe yer ayırarak düzen kaymasının önlenmesi.

LiquidOnline Store 2.0Ajax APITheme CLIJSON şablon

Boş render eden blok bırakmamak

tema-gelistirme liquid
{%- comment -%}
  Isaret ettigi kayit yoksa blok hic basilmaz.
  Bos render eden blok aylarca fark edilmez.
{%- endcomment -%}

{%- assign hediye = all_products[section.settings.hediye_handle] -%}

{%- if hediye != blank and hediye.available -%}
  <div class="hediye" data-esik="{{ section.settings.esik }}">
    <p>{{ section.settings.mesaj }}</p>
  </div>
{%- endif -%}

Bir mağazada silinmiş bir ürüne işaret eden hediye bloğu aylarca sessizce boş basmıştı. Koşul olmadan yazılan her referanslı blok aynı riski taşır.

Nasıl yürüyor

  1. 01

    Ne olduğunu ölçerim

    İlk iş mevcut durumu rakamla tespit etmek. Hangi sayfada, hangi adımda, kaç kayıtta sorun var — bu bilinmeden yazılacak kod tahmine dayanır.

  2. 02

    Kapsamı yazılı veririm

    Ne yapılacağı, neyin dışarıda kaldığı ve teslim biçimi baştan yazılır. Sonradan büyüyen iş ikimize de pahalıya patlar.

  3. 03

    Ayrı temada geliştiririm

    Tema işleri yayınlanmamış bir kopyada yazılır, önizleme adresiyle doğrulanır, sonra canlıya alınır. Uygulama işlerinde geliştirme mağazası kullanılır.

  4. 04

    Ölçerek teslim ederim

    Teslimde “yapıldı” demek yetmez; öncesi ve sonrası aynı yöntemle ölçülür. Toplu veri işlerinde eski değerlerin yedeği ve geri alma script'i bırakılır.

Teknik yaklaşım →

Sık sorulanlar

Tema güncellenince yaptıklarınız kaybolur mu?

Temanın kendi dosyalarına yapılan yamalar güncellemede gider. Bu yüzden eklenen özellikler mümkün olduğunca ayrı bölüm ve snippet dosyalarında durur; hangi dosyaya hangi çapa ile yama yapıldığı yazılı teslim edilir.

Canlı temada mı çalışıyorsunuz?

Hayır. Yayınlanmamış bir kopyada geliştirilir, önizleme adresinden doğrulanır, sonra canlıya alınır. Canlıya taşırken dosyalar düz kopyalanmaz — tema bu arada değişmiş olabilir, mevcut dosyalara çapa bazlı yama uygulanır.

Hangi temalarla çalışıyorsunuz?

Online Store 2.0 temalarının hepsiyle. Eski nesil temalarda da çalışıyorum ama orada bölüm desteği kısıtlı olduğu için iş daha uzun sürüyor.

Değişikliğin işe yaradığını nasıl anlıyoruz?

Öncesi ve sonrası aynı yöntemle ölçülüyor. Ne ölçtüğüm yöntem sayfasında yazılı.

Bu işin sizdeki karşılığı ne?

Mevcut durumu anlatın; ölçüp ne gerektiğini söyleyeyim.