Grav SnipCart Kurulumu

Grav uygulamasının özelliklerini, diğer uygulamalardan farklılıklarını ve nasıl kurulacağını artık biliyoruz.

AA

Belkide şu anda kullandığınız ve grav üzerinde yayın yapan web sayfanız bile var. Şahane! Bir sonraki aşamada ise merak ettiğiniz konu web sayfanızda yani grav uygulaması üzerinden nasıl satış yapabileceğiniz. Öncelikle altını çizmek istediğim bir konu var; Türkiye’de hizmet alabileceğiniz ödeme alt yapılarının halihazırda grav destekleri bulunmamakta. Özellikle PayU1 ve iyzico2 bu anlamda öne çıkan firmalardan ikisi.

Ancak, Grav uygulamasına ve elbette SnipCart eklentisine dair bir bildirimleri mevcut değil. İşin bir diğer ilginç tarafı aslında iyzico‘nun grav’a oldukça aşina olması. Çünkü, firmanın geliştirici sayfası GRAV alt yapısı üzerinden yayın yapmakta3. İlerleyen süreçte bir gelişme olursa elbette bu yazıya ilgili eklenti adreslerini ekleyeceğim. Konumuza dönecek olursak, evet, Grav sitemize SnipCart eklentisini kurarak ziyaretçilerimize satın alabilmeleri için ürün ve/veya hizmetler sunabilmekte ve sitemizi bir e-ticaret sitesi haline getirebilmekteyiz.

SnipCart

SnipCart, Grav yapısına e-ticaret yetenekleri kazandıran ve resmi olarak desteklenen bir eklenti4. Snipcart aynı zamanda WordPress, Drupal, Craft CMS için de entegrasyon olanağı sunmakta ancak konumuz şu an için Craft üzerinden bu işlemleri yürütmek.

Not: Shopping Cart eklentisi artık kullanılmamaktadır.

Grav + SnipCart

Grav’ın veri tabanı gerektirmiyor oluşunun verdiği rahatlıkla dosyalarınızı istediğiniz şekilde, ekstra uğraş gerektirmeksizin farklı alanlara taşıyabilirsiniz. Bu nedenle SnipCart kullanım işlemlerini ilk önce test ortamında gerçekleştirmenizde fayda var. Çünkü SnapCart yapısı Worpdress ve WooCommerce gibi ilerlememekte ve Test modu dışında ücretlendirmede bulunmakta. Süreci daha hızlı ve pratik bir şekilde çözmek adına Grav ekibi tarafından geliştirilmekte olan Grav Shop Site Skeleton‘dan faydalanabilirsiniz.

Sunulan Skeleton örnekleri arasında şimdilik SnipCart desteğine sahip tek tema olması sebebiyle fikir sahibi olmak isteyebilirsiniz. Skeleton eklenti, tema ve diğer özelliklerin bir arada olduğu, hızlı bir şekilde web sitesini yayına alabileceğiniz bir derleme (all-in-one package) olarak nitelendirilebilir.

Grav ve Snipcart

O halde sitemize SnipCart eklentisi sayesinde e-ticaret yeteneği kazandırma sürecine geçebiliriz. Öncelikle ben SnipCart eklentisini indireceğim. Böylelikle eklenti indirme işlemini de aradan çıkarmış oluruz. Eklentileri bin/gpm ya da admin plugin sayesinde admin paneli üzerinden indirebiliriz. bin/gpm üzerinden ilerleyelim ve komut satırı üzerinden SnapCart eklentisini kuralım.

bin/gpm install snipcart
Snipcart

Eklentimizi kurduk ve ayarlarını görüntüledik. Burada yer alan API Key için SnapCart üyeliğine sahip olmalıyız. Tekrar hatırlatayım, test işlemleri dışında Standard Plan (ek olarak Pro Pack'i de plana dahil edebilirsiniz) veya Special Plan seçeneklerinden birini seçmeniz gerekmekte. Ek olarak, Public Live API Key için de kredi kartınızı sisteme eklemelisiniz.

Grav ve Snipcart

Eklenti indirme ve SnapCart entegrasyon sürecini böylelikle tamamlamış oluyoruz. Elbette tekrar hatırlatmakta fayda var, ürün yerleşimi ve satış işlemleri için (sepet, ödeme adımı ve sepete at butonu gibi özellikler) temamızın SnapCart desteğinin olması gerekmekte. Bu nedenle test işlemleri için Grav Shop Site Skeleton indirme ve uygulama sürecinden de bahsetmek istiyorum. Bu süreç maalesef admin panel üzerinden gerçekleştirilememekte. Öncelikle GitHub hesabı altından skeleton’un son release’ini5 indirelim. Bu yazı yayınlandığı sırada 1.0.0 sürümü mevcut olduğu için aşağıda bu sürüme istinaden ifadeler yer almakta. Güncel sürüme dair ilgili alanları güncelleyerek kodları uygulamayı unutmamalısınız.

wget https://github.com/getgrav/grav-skeleton-shop-site/releases/download/1.0.0/grav-skeleton-shop-site-v1.0.0.zip -P /var/www/

Bu arşiv içeriğinde yer alan dosya ve klasörleri grav kurulumunuzun üzerine yazdırmalısınız. İçeriklerinizi ve user klasörünü yedeklemenizde fayda olacaktır. Aksi durumda yeniden kullanıcı tanımlamanız gerekir. Arşiv ile bir önceki kurulum arasındaki dosya ilişkisini rsync eşleyebilirsiniz.

cd /var/www/
unzip /var/www/grav-skeleton-shop-site-v1.0.0.zip
rsync -a /var/www/grav-skeleton-shop-site/ /var/www/html/grav/

Bu işlemlerin ardından Antimatter temasıyla birlikte SnipCart eklentisi de yüklenmiş ve örnek ürünlerin yanı sıra ilgili alışveriş özellikleri de aktifleştirilmiş olacaktır6.

Grav Skeleton + Snipcart

İşlemlerimiz tamamlandı. Ödeme detayları ve diğer ilgili bilgileri SnipCart hesabınız üzerinden yapılandırmanız gerekmekte. Ürün ekleme işlemlerinizi ise Admin panel üzerinden Pages > Shop ile ve/veya /var/www/html/grav/user/pages/01.shop yolundan yürütebilirsiniz. Shop bölümünde yer alan snipcart.md için örnek içerik şu şekilde olacaktır.

---
title: Shop
body_classes: fullwidth
content:
    items: @self.children
    order:
        by: title
        dir: asc
---

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.

İlgili ürün kategorileri için oluşturulabilecek örnek snipcart_category.md içeriği ise şu şekildedir:

---
title: T-Shirts
category: T-Shirts
content:
    items: @self.children
    order:
        by: default
        dir: asc
---
## We have both **cool** and **funny** t-shirts

Son olarak, ürün detay sayfaları için şu snipcart_detail.md örneğini inceleyebilirsiniz.

---
title: Rocket Doc T-Shirt
price: 14.99
product_id: ts385
---

## Aliquam lectus ipsum, condimentum vitae erat eleifend

Suspendisse vestibulum, erat vestibulum ultrices blandit, tortor magna commodo orci, vel facilisis tortor felis ut leo. Nunc vehicula diam augue.

===

Aliquam lectus ipsum, condimentum vitae erat eleifend, lobortis pretium ante. Duis tristique, dolor sed rutrum consectetur, lorem metus vulputate sapien, ornare tincidunt urna dolor eget eros.

Evet, işlemlerimizi tamamladık. Artık, web siteniz üzerinden ürün ve hizmet satışı yapabilirsiniz.