Liquid motoruyla Shopify teması oluşturun

Yazar: Peter Berry
Yaratılış Tarihi: 14 Temmuz 2021
Güncelleme Tarihi: 13 Mayıs Ayı 2024
Anonim
Liquid motoruyla Shopify teması oluşturun - Yaratıcı
Liquid motoruyla Shopify teması oluşturun - Yaratıcı

İçerik

Geçtiğimiz birkaç hafta boyunca, Elliot Jay Stocks ile geçen yıl kurduğumuz Viewport Industries şirketi için Shopify temasını oluşturuyorum. Shopify'ı birkaç nedenden dolayı seçtik:

  1. Hem dijital hem de fiziksel ürünler satmamızı sağlar
  2. Tamamen barındırılıyor, yani endişelenecek sunucu yok
  3. Bankamızla güzel bir şekilde entegre olan bir dizi ödeme ağ geçidini destekler
  4. Tema tabanlıdır, yani mevcut sitemizin HTML, CSS ve JavaScript’ini kolayca yeniden kullanabiliriz.

Shopify, mağazanızdaki verileri şablonlarınıza çıkarmak için Liquid adlı bir şablon motoru kullanır. Liquid, belki de daha önce kullanmadığınız bir Shopify temasının tek bileşenidir ve çıktı olabilir. Ama iyi haber şu ki, başlamak o kadar da zor değil.

Daha önce Smarty, ERB veya Twig kullandıysanız, aşağıdakiler size tanıdık gelecektir. Değilse endişelenmeyin: bu sadece birkaç basit kuralı öğrenme meselesidir. Web geliştirme araç setinize Liquid becerilerini ekledikten sonra, müşteriler için kısa sürede temalar oluşturmaya başlayabileceksiniz.


Tema dosyaları ve klasörleri

Shopify temaları, bir dizi dosyadan (.liquid uzantılı HTML dosyaları, CSS, JS, resimler vb.) Ve klasörlerden başka bir şey değildir. Temalar istediğiniz gibi görünebilir ve çalışabilir: gerçekten hiçbir kısıtlama yoktur. Bir temanın temel yapısı şu şekildedir:

  • varlıklar
  • yapılandırma
  • düzenler
  • theme.liquid
  • parçacıklar
  • şablonlar
  • 404. sıvı
  • article.liquid
  • blog.liquid
  • cart.liquid
  • collection.liquid
  • index.liquid
  • page.liquid
  • product.liquid
  • search.liquid

Bu dosyalarla en temel temaları oluşturabilirsiniz. Elbette, muhtemelen biraz CSS, JavaScript ve birkaç resim eklemek isteyeceksiniz. Bunları varlıklar klasörüne koyardınız. (Şu anda varlık klasörünüzde alt klasörlere izin verilmediğini belirtmek gerekir.)

Temaların nasıl çalıştığı hakkında daha fazla bilgi edinmek ve yapılandırma ve parçacık klasörleri hakkında bilgi edinmek için Shopify Wiki'deki Kazı Kazan'dan Tema ve Tema Ayarları'nı okumanızı tavsiye ederim.

Alternatif olarak, ücretsiz İş Ortağı programına kaydolabilir, bir test mağazası oluşturabilir ve test mağazanızın yönetici alanında bulunan birçok ücretsiz temadan birini inceleyebilirsiniz - Temalar menüsünde bulunan tema düzenleyicisine gitmeniz yeterlidir.


URL'leri şablonlarla eşleme

Shopify temaları, mevcut URL'yi belirli bir şablonla eşleyerek çalışır. Örneğin, aşağıdaki URL'ye sahip bir ürünü görüntülüyorsak ...

http://www.unitedpixelworkers.com/products/indianapolis

... daha sonra Shopify, product.liquid şablonu. Bu nedenle, şablonlarınız için yalnızca yukarıda listelenen dosya adlarını kullanmanız gerekir.

Shopify'ın mevcut URL ile ilgili olarak hangi şablonun görüntüleneceğini bilmesine ek olarak, bizim için çok özel bir dizi değişkeni kullanılabilir hale getirir. Bunlar "şablon değişkenleri" olarak bilinir ve verileri şablonlarımızda görüntülememizi sağlar.

Örneğin, product.liquid şablonumuzda, uygun şekilde adlandırılmış ürün değişken. Bu, ürünümüzün adını, açıklamasını, fiyatını ve kullanılabilirliğini şablonumuzda yayınlayabileceğimiz anlamına gelir. Şablonlarımızı ürünlerimizle ilgili verilerle doldurmak için Liquid ve şablon değişkenlerinin kombinasyonunu kullanacağız.

Mevcut şablon değişkenlerinin tam listesi için Mark Dunkley'in Shopify Hile Sayfasını ziyaret edin.


Sıvı: temel bilgiler

Liquid, tema tasarımcıları olarak hayatımızı kolaylaştırmak için burada. Bunu yapmanın ana yollarından biri, düzenlerin kullanılmasıdır. Düzenler, üstbilgi, ana gezinme, altbilgi vb. Gibi yaygın sayfa öğelerini dahil etmek için idealdir.

Yukarıdaki klasör yapımda, adında bir dosya göreceksiniz theme.liquid düzenler klasöründe. Theme.liquid'i ana şablonumuz olarak düşünebilirsiniz. Product.liquid gibi diğer tüm şablonlarımız bu ana şablon içinde oluşturulur. İsterseniz birden fazla düzene sahip olabilirsiniz, ancak varsayılan olan her zaman theme.liquid olarak adlandırılmalıdır.

United Pixelworkers’ın theme.liquid dosyasını görmedim, ancak aşağıda kırmızıyla belirtilen alanlar için işaretler içerdiğini hayal edebilirsiniz.

İşte temel bir theme.liquid düzeni nasıl görünebilir:

  1. ! DOCTYPE html>
  2. html>
  3. kafa>
  4. {{content_for_header}}
  5. başlık> Sayfa Başlığı Buraya Gelir / başlık>
  6. / head>
  7. gövde>
  8. {{content_for_layout}}
  9. / body>
  10. / html>

Çift küme parantezi içine sarılmış iki kelime öbeği göreceksiniz: {{content_for_header}} ve {{content_for_layout}}. Bunlar, Liquid uygulamasına ilişkin ilk örneklerimizdir.

Shopify, bir belgenin head> bölümüne belirli dosyaları eklemek için genellikle {{content_for_header}} kullanır: örneğin, izleme kodunu eklemek. {{content_for_layout}}, URL eşlemeli şablonumuzun içeriğinin görüneceği yerdir. Örneğin, bir ürün sayfasını görüntülüyorsak, product.liquid dosyamız, düzen dosyamızdaki {{content_for_layout}} yerine geçecektir.

Product.liquid'i anlama

Düzenlerin temellerini öğrendiğimize göre, artık bir şablona bakma zamanı.Mağazaların tamamı ürünlerle ilgilidir, o halde bakalım product.liquid.

İşte bir product.liquid şablonunun çok basit ama işlevsel bir örneği.

  1. h2> {{product.title}} / h2>
  2. {{ Ürün Açıklaması }}
  3. {% if product.available%}
  4. form action = "/ cart / add" method = "post">
  5. id = "product-select" name = ’id’> seçin>
  6. {product.varants içindeki varyant için%}
  7. seçenek değeri = "{{variant.id}}"> {{variant.title}} - {variant.price} / seçenek>
  8. {% endfor%}
  9. / seçin>
  10. input type = "submit" name = "add" value = "Sepete ekle" id = "satın alma" />
  11. / form>
  12. {% Başka %}
  13. p> Bu ürün mevcut değil / p>
  14. {% endif%}

Burada iş başında olan bir dizi temel Sıvı kavramı var. Sırayla onlara bakalım.

Çıktı

İlk kod satırı, kelime öbeğini içerir {{ ürün başlığı }}. Oluşturulduğunda bu, artık bildiğiniz gibi URL tarafından belirlenen ürünün başlığını çıkarır. Aşağıdaki United Pixelworkers örneğinde, ürün başlığı kısaca "Indianapolis" dir.

Liquid, nokta sözdizimi biçimini kullanır. Bu örnekte, {{product.title}}, ürün şablonu değişkenine ve onun title özelliğine eşittir. Ürün açıklamasını kullanarak aynı şekilde çıktı alabiliriz {{ Ürün Açıklaması }}.

Bu, Sıvı terimleriyle şu şekilde bilinir: çıktı. Tüm çıktı, aşağıdaki gibi çift kaşlı ayraçlarla gösterilir: {{your_output}}.

Mantık

Kodun bir sonraki satırında, kaşlı ayraç içinde bir ifade ve ardından bir% ifadesi göreceksiniz: bu durumda, {% if product.available%}. Bu, Sıvı olarak bilinen başka bir önemli kavramdır. mantık. Daha aşağıda, {% else%} ve son olarak {% endif%} ifadelerini göreceksiniz.

Bu eğer ifadesi bir veya daha fazla koşula bağlı olarak şablonumuzun ne göstereceğini dikte etmemizi sağlar: bu durumda, ürünümüzün mevcut olup olmadığı. Etkili bir şekilde bu, “eğer ürünümüz mevcutsa, onunla ilgili bilgileri gösterin; aksi takdirde kullanıcıya stokta kalmadığını bildiren bir mesaj gösterin ”.

Liquid'teki tüm mantık ifadeleri süslü parantez yüzde gösterimini kullanır, yani {% if…%}. İfadelerinizi uygun şekilde kapatmayı unutmayın, aksi takdirde başınız derde girer. Örneğin:

  1. {% if product.available%}
  2. Sepete ekle düğmesini burada göster
  3. {% Başka %}
  4. Ürünün bir sonraki satış tarihiyle ilgili mesajı görüntüle
  5. {% endif%}

Filtreler

Sıvı, çıktımızı çeşitli şekillerde değiştirmemizi sağlar. Bunlardan biri filtre kullanmaktır. Filtreye giren içerik, diğer ucunda belirli bir şekilde değiştirilmiş olarak çıkacaktır.

Yukarıdaki product.liquid örneğine baktığınızda, fark edeceksiniz {money}. Varyant, bir ürünün varyasyonunu tanımlamak için kullanılan bir terimdir: örneğin, farklı renkler ve bedenler. Burada ilginç olan şey, fiyat çıktısını değiştirmek için bir filtre kullanmamızdır - bu durumda, para filtresini kullanarak. Bu, mağazanın para birimi simgesinin fiyatın önüne eklenmesiyle sonuçlanacaktır.

Diğer filtreler şunları içerir: strip_html, belirli bir metin parçasındaki tüm HTML etiketlerini çıkaracak ve ucase bu onu büyük harfe dönüştürecektir.

Ayrıca filtreleri birlikte birleştirebilirsiniz. Örneğin:


  1. {article.content}

Bu örnekte, makale şablonu değişkeninin içerik özniteliğini alıp strip_html filtresine ve son olarak da kesme filtresine geçiriyoruz. Kes filtresinin, son çıktının ne kadar uzun olmasını istediğimizi belirlememize izin verdiğini fark edeceksiniz: bu durumda, 20 karakter.

Filtreler ayrıca, şablonlarda komut dosyası ve görüntü öğeleri oluşturmada hızlı bir şekilde çalışmamıza olanak tanır. İlişkili bir alt etiketi olan bir görüntünün çıktısını almak için filtre kullanmanın çok hızlı bir yolu:

  1. {asset_url}

Bunu Shopify temamızda kullanmak, şablonumuzda aşağıdaki img öğesinin oluşturulmasına neden olur:

  1. img src = "/ dosyalar / dükkanlar / dükkan_sayiniz / varlıklar / logo.png" alt = "Site Logosu" />

asset_url filtresi, geçerli temanın tam yolunu döndürdüğü için çok kullanışlıdır. varlıklar Klasör. Bu filtreyi kullanmak, temanızı birden çok mağazaya uygulamanıza ve yollar hakkında endişelenmenize gerek kalmamasına olanak tanır.


Sıradaki ne?

Umarım bu birkaç örnek size Liquid'in o kadar karmaşık olmadığını göstermiştir. Elbette bununla yapabileceğiniz çok daha fazla şey var, ancak çıktı, mantık ve filtrelerde uzmanlaşarak, bir Shopify teması oluşturmak için ihtiyaç duyacağınız şeylerin çoğunu anlama yolundasınız.

Daha fazla kaynak ve ilham

  • Faydalı başlangıç ​​Shopify eğitimleri
  • Mark Dunkley'in Shopify Hile Sayfası
  • Blankify: Shopify başlangıç ​​teması
  • Eğitim: Sıfırdan bir tema oluşturma
  • Shopify iş ortağı programı
  • İlham veren 40 Shopify mağazası
Popüler Makaleler
Foursquare ve Flickr, tasarımın kullanıcıları nasıl etkileyebileceği konusunda deneyimli
Okumak

Foursquare ve Flickr, tasarımın kullanıcıları nasıl etkileyebileceği konusunda deneyimli

Benim adım Timoni We t ve küçük işletmelerde yatırım ve mülkiyeti yeniden tanımlayan yeni bir girişim olan Alphawork 'ta ta arım müdürüyüm. Yıllar boyunca, ...
Evden becerilerinizi geliştirmenize yardımcı olacak 10 ücretsiz eğitim kaynağı
Okumak

Evden becerilerinizi geliştirmenize yardımcı olacak 10 ücretsiz eğitim kaynağı

Şu anda elinizde fazladan zaman var mı? Yalnız değil in. Bazı yeni yaratıcı beceriler edinmek için harika bir fır at, ancak ra tgele eğiticilerden ve YouTube videolarından parça parça b...
Neden kendi ajansınızı kurmalısınız?
Okumak

Neden kendi ajansınızı kurmalısınız?

Bir üredir bu konuda çalışan çoğu erbe t çalışan için, küçük olmanın bir rahatlığı var. Kendi projelerinizi kontrol etmek ve alıştığınız türden müşter...