Prestashop: Ücretsiz e-ticaret yazılımı

Bir e-ticaret sitesimi kurmak istiyorsunuz ve nasıl yapabileceğiniz hakkında bir fikir edinmek isterseniz, bu makaleye bi göz atın derim. Prestashop tamamen ücretsiz basit kurulumu olan ve birçok işinizi kolaylaştıran bir yazılım. Sanal Pos ve daha birçok imkana sahip bu yazılım üstelik türkçe’yi destekliyor. 

Php tabanlı olan bu yazılımı açık kaynak kodlu olması nedeniyle istediğiniz gibi düzenleyebilirsiniz.

Prestashop’u biraz detaylı tanıyalım !

Şu ana kadar 50.000‘in üzerinde üyesi, 33.000 civarı da Prestashop kullanan alışveriş sitesi bulunuyor. Ki bu rakamlar açık kaynak kodlu bir sistem için hiç de azımsanacak küçüklükte değil.

Bir çok insanın bu sistemi kullanma sebebi ise aynı: Hızlı ve kolay kurulumu ve modül yapısı ile kolaylıkla düzenlenebilir ve geliştirilebilir olması. Birazcık Php, Html ve CSS bilgisiyle sistemi istediğiniz gibi düzenleyebilir, kendi temanızı oluşturabilirsiniz. Eğer düzenleme konusunda hiç bir teknik bilginiz ve deneyiminiz yoksa hazır temalarıyla ve modülleriyle zaten işinizi rahatlıkla görebilecek bir alışveriş sitesi hazırlayabiliyorsunuz.

Prestashop’un sadece ön planda değil, arka planda da aynı derecede kullanışlı bir yapıya sahip olduğunu rahatlıkla söyleyebilirim. Ürün girişi ve düzenlemesi, sipariş yönetimi, kategori düzenlemesi, modül yönetimi gibi ayarları olan çok kolay ve kullanışlı bir yönetim paneli var.

Şimdi genel olarak hem sitedeki hem de yönetim panelindeki özellikleri sıralayalım.

Arayüz Özellikleri 


  1. Anasayfada “yeni ürünler”, “en çok satanlar” gibi özel ürün bölümleri
  2. Ürün detay sayfaları
  3. Alışveriş sepeti yönetimi
  4. Müşteri kaydı ve üyelik hesabı yönetimi
  5. Sınırsız ödeme yöntemleri (Kredi kartı, taksit seçenekleri, havala-eft vs)
  6. İletişim formu
  7. Bilgilendirme sayfaları (Kullanıcı sözleşmesi, site kuralları, hakkımızda vs)
  8. RSS Özelliği
Yönetim Paneli Özellikleri


  1. Gelişmiş metin editörü
  2. Sınırsız kategori ve alt kategori ekleme
  3. Sınırsız para birimi ekleme
  4. Kullanıcı yönetimi
  5. Sipariş yönetimi
  6. Modül yönetimi
  7. SMS ve mail ile bilgilendirme
  8. Düzenlenebilir sipariş durumu ve teslimat duyuruları
  9. Satış raporları
  10. Farklı dil seçenekleri
  11. Permalink ve Friendly URL özelliği
  12. SSL Şifreleme

Sistemi, hem görünüşüyle hem de yönetim paneli ile birlikte test edebileceğiniz demo sayfası da var. Yönetim panelini test edebileceğiniz kullanıcı bilgileri:

Username: demo@prestashop.com

Password: prestashop_demo

Detaylı bir giriş bölümünden sonra artık Prestashop kurulumu ile ilgili rehber bölümüne geçebiliriz. Ama öncelikle Prestashop’u kurmak için hosting kiralamadan önce sunucu ile ilgili sistem gereksinimlerini dikkate almanızda fayda var.

Sistem Gereksinimleri

  1. Linux, Unix or Windows OS
  2. Apache 1.3 or IIS 6 web server
  3. PHP 5.0 ya da daha üstü
  4. MySQL 5 ya da daha üstü
Prestashop Kurulumu
Prestashop kurulumu için sistem gereksinimlerini sağlayan bir sunucu kiraladıktan sonra yapmanız gereken ilk şey Prestashop sistemini ücretsiz olarak indirmek. Prestashop’un son Türkçe sürümünü bu adresten indirebilirsiniz.
Daha sonra da PDF formatındaki ayrıntılı ve Türkçe Prestashop Kurulum rehberini bu linkten indirebilirsiniz. Rehberde anlatılan bütün adımları sırasıyla uyguladıktan sonra Prestashop’u sunucunuza sorunsuz olarak kurmuş olacaksınız. Bundan sonrasında geriye, modül ve tema yüklemek gibi istediğiniz değişiklikleri yaparak yönetim panelinden etkinleştirmek kalıyor.
Modül Yüklemek

Prestashop’ta bütün uygulamalar ve bölümler modül sistemi ile çalıştığı için kendi sitenize uygun modüllere ihtiyacınız olacak. Modülleri Prestashop.comPresta-tr.com gibi sitelerden ücretsiz olarak indirebilirsiniz. Gerekli modüllerin yüklenmesi çok basit bir işlemden oluşuyor. Aşağıdaki işlem sırasını uygulamanız yeterli.

  1. Bilgisiyarınıza indirdiğiniz modülü klasör halinde sunucunuzdaki /modules klasörüne FTP aracılığıyla kopyalayın.
  2. Yönetim paneline girin ve “Modüller” sekmesinden modülü bulup “yükle” butonuna basın.
  3. Bazı modülleri yükledikten sonra “Düzenle” (ya da “Konfigure”) linki belirir. O linki tıklayarak modülle ilgili gerekli düzenlemeleri yapabilirsiniz.

Hepsi bu kadar.

Tema Yüklemek


Prestashop kurduktan sonra sitenizin daha güzel bir görünüme sahip olmasını istiyorsanız internette ücretsiz yayınlanan Prestashop Temaları’ndan faydalanabilirsiniz. Türkçe Prestashop temaları için prestashopturkiye.com ve presta-tr.com sitelerini tavsiye ederim. Tema yüklemek te modül yüklemek kadar basittir. Aşağıdaki işlem sırasını izleyin, yeter.

  1. Temayı bilgisayarınıza indirin ve klasörü zip dosyasından çıkarın.
  2. Temayı klasör halinde sunucunuzdaki /themes klasörüne kopyalayın.
  3. Yönetim panelinde bulunan Ayarlar sayfasından Görünüş sekmesine tıklayın.
  4. Açılan sayfada yüklediğiniz temaları görebilirsiniz. İstediğiniz temayı seçerek “Kaydet” butonuna basın.

Böylelikle alışveriş siteniz daha güzel bir görünüme sahip olacaktır.



Asp.Net Validation Kontrolleri

Asp.Net tabanlı sitelerde işinize çok yarayacak bir makale daha sizlerin huzuruna sunmaktan çok mutluyum ha. Bu kontrollerde nerelerde işinize yarar ? Mesela zorunlu alanlarınız var, kullanıcı bunları girmediği zaman bir hata ile karşılamak yerine güzel bir mesajla doğru yola dönebilir. Ya da aynı adda dosya yüklenmesini de bu kontroller sayesinde rahatça engelleyebilirsiniz. Ve bunun qibi birçok olay hadi kolay qele …

A handa Validation Kontrolleri

Örneklerimizi yandaki örneğimize göre anlatacağız.

Sayfaya (Adı)TextBox1.text, (Soyadı) TextBox2.Text, (E-Posta)TextBox3.Text, (Şifre)TextBox4.Text, (Şifre Tekrar)TextBox5.Text ve Buton ekledik.
1. Compare Validator: Karşılaştırma kontrolüdür. Web Sayfalarında sıkça karşılaşılan bir kontroldür. Yandaki Örnekte Şifre ve Şifre Tekrarı alanlarına şifrenin doğruluğunu, her iki textbox’ı bu kontrolü kullanarak karşılaştırabiliriz.

Eğer her iki alana şifleriniz aynı girmediyseniz aşağıdaki gibi bir hata alırsınız. Tabi buradaki uyarı siz belirliyorsunuz ben örnek olarak “Şifreniz Uyuşmuyor” şeklinde yazdım.

Bu ve buna benzer karşılaştırmalar yapabilirsiniz.

Kontrole ait bazı özellikler;

ControlToValidate: Hangi form elemanı kontrol edilecekse o formun ID si yazılır. Örneğin biz Textbox4.Text’ in kontrol edilmesini sağladık.

ControlToCompare: Karşılaştırılacak Form elemanının ID si yazılır. Örneğin biz TextBox4.Text in TextBox5.Text ile karşılaştırılmasını istedik. Dolayısıyla ControlToCompare ye TextBox5.Text ID sini belirtik.

Text: Ekranda gözükecek olan Hata mesajı yazılır.

Type: Karşılaştırılacak olan veri tipi belirtilir. (integer, string gibi)

Not: Yukarıdaki açıkladığımız özelliklerin bazıları diğer geçerlilik kontrolleri içinde ortaktır.

2. Range Validator: Sayfayaeklediğimiz kontrollere ait önceden belirtilen tipteki değer aralığının kontrolünü sağlar. Örneğin sayfamıza bir TextBox. text birde Buton ekleyelim. Ve Propertieste Öncelikle ControlToValidat seçeneğinden kontrol edilecek olan sayfamızdaki kontrolü seçiyoruz(TextBox1.Text). Daha sonra Propertieste MaximumValue değeri ve MinimumValue aralıklarını giriyoruz örneğin MaximumValue değerine 100,MinimumValuedeğerinde 0 girelim. Burada dikkat etmemiz gerekeken nokta veri tipini belirtmek. Biz Integer bir değer kullanacığımız için Veri tipini (Type) Integer olarak belirliyoruz.

Biz sayfamız eklediğimiz TextBox. Text kontrolüne dışarıdan 0 – 100 Aralığı dışında bir değer girecek olursak bize hata verecek. 0 – 100 Aralığında bir değer girersek işlemi doğru uygulamış oluruz ve hiçbir hata ile karşılaşmayız. Bu örneği yazımızın başında belirtmiş olduğum örnekten ayrı bir örnekte veriyorum. Yukarıda belirtmiş olduğum örnek görünüm ise aşağıdaki gibidir.

https://i2.wp.com/resim.sanalkurs.net/uploads/Range1.jpg

Gördüğümüz gibi önceden belirtilen değer Aralığımız 0 ile 100 olduğu için bu değer aralığı dışında bir değer girdiğimizde yukarıdaki gibi uyarı alırız. Eğer girdiğimiz değer 0-100 arasında bir değer ise uyarı vermeyecektir.

3. RequiredFieldValidator: Diğer geçerlilik kontrollerinden farklı olarak olarak bu kontrol kullanıcının dışarıdan veri girilip girilmediğini kontrol eder. Örnek uygulamamızda Ad, Soyad, E-Posta ve şifre girişlerinden Herhangi birine değer girmediğimizde bizi uyarır. Tek bir alanı kontrol edebileceğiniz gibi, birden fazla alanıda kontrol edebilirsiniz. Örneğin Ad, Soyad, E-posta ve Şifre alanlarının hepsini kontrol edebiliriz veya Girilmesi Zorunlu olan alanları belirtip bu alanları kontrol edebiliriz tamamen size kalmış bir tercih. Öncelikle değer girmeden kaydet diyelim.

Görülüğü gibi hiçbir alana değer girilmemiş ve bu alanların boş geçilemeyeceği ni veya bu alanları girmediniz gibi bize bilgi verir. Kullanıcıları bu kontrolle bilgi girişine zorlayabilirsiniz.

Gelin bir de “E-Posta” alanı hariç tüm alanlara değer girelim, bir de öyle sonuca bakalım.

Bir çok özelliğe sahip bu kontrole basit olarak E-Posta adresini vereceğiz. Bu kontrol Karakter kontrolü yapar. Örneğin uygulamamızdaki E-Posta alanına uygun formatta e-posta adresi girilip girilmediğini kontrol edelim. Burada kontrol edilecek karakterler “@” ve “.” Karakterleridir. E-Posta Alanı yanına Regular Expression Validator kontrolümüzü ekliyoruz veControlToValidat özelliğini önceden belirlediğimiz TextBox3.Text seçiyoruz. Çünkü bu alanı kontrol edeceğiz. Daha sonra ValidationExpress ten İnternet e-mail adres seçiyoruz.

Ekranda hemen altta gördüğünüz tanım ise bizim e-posta adresimizdeki “@” ve “.” Karakterlerini kontrol eden bir tanım görüyorsunuz.

w+([-+.']w+)*@w+([-.]w+)*.w+([-.]w+)*

Not: E-mail adresinden başka RegularExpression Editor de birçok seçenek mevcuttur. Posta kodu kontrolü, Telefon numarası v.b uygulamaları kontrol edebiliriz.

Dikkat ettiyseniz “.” Karakterini kullanmadım ve Uyarı verdi.

4. Custom Validation: Bu kontrol diğer geçerlilik kontrollerinin dışında bir kontrol tanımlanması gerekiyorsa bu kontrol kullanılır. Diğer kontrollerde olduğu gibi bu kontrolde de Text ve ValidateControl aynı şekilde kullanılabilir.

5. ValidationSummary: Evet arkadaşlar şuana kadar anlatmış olduğumuz tüm geçerlilik kontrollerinin belli amaçlara göre kullanıldığını gördük. Ancak ValidationSummary kontrolü diğer geçerlilik kontrollerinin Hata mesajlarını ErrorMessage bilgilerin özetinin verildiği kısımdır. Uygulamamızda ki geçerlilik kontrollerinin ErrorMessage bilgilerini bir arada belirtebiliriz. Bunun için eklemiş olduğumuz geçerlilik kontrolerininTextÖzelliğiNE “*” karakterini girerek önemli bir durumun veya hatanın olduğunu belirterek ErrorMessage bilgilerini Özet alanında görüntüleyebiliriz.

Umarım işinize yarar ha.

Freelance Tasarımcı Nasıl olmalıdır?

Bu yazıda bir freelance tasarımcının nasıl olması gerektiğine dair genel esasları ele aldım. Ağırlıklı olarak freelance çalışan birini göz önünde bulundurduğumu belirtmek isterim.

1. Yaptığı işte başarılı olduğunu referansları ile ispat edebilmelidir: Ciddi bir çalışması yoksa karşı tarafa güven telkin etmeyecektir. Çünkü iş verecek olan kişi ya da firma ilk olarak o kişinin referanslarına bakacaktır.

2. Yaptığı işte ve işverenle görüşmelerinde ciddi olmalıdır:Türkiye’de bu konuda hemen abi, abla muhabbetine girilir, ki yanlıştır. İşveren tarafı bu muhabbete binaen fiyatlandırma konusunu iyice sulandırabilmektedir. Dolayısıyla tasarımcı, görüşmelerinde ciddi olmalı, çok samimi tavırlarla havadan sudan muhabbete girmemelidir.

3. İşverenin isteğini net anlamalı, iş yoğunluğuna göre fiyat belirlemelidir: Gerek yazılım, gerekse tasarım konusunda bilgisayar parçası fiyatı gibi sabit fiyatlar olmadığından fiyatlandırmada tasarımcı, tecrübesini, referanslarını, bu işe harcayacağı zamanı ve kullanacağı teknolojileri göz önünde bulundurarak karşı taraf için de makul olan bir fiyat belirtmek durumundadır. Bir freelance çalışanın ajans fiyatlarına muadil yükseklerden uçan bir fiyat çekmesi pek hoş karşılanmayacaktır. Ya da tam aksine, normalin çok altında fiyatlar sunması da kendi kaybı olacağı gibi diğer meslektaşlarına da haksızlık olacaktır. Zaten freelance kelimesinin anlamını geçenlerde bir web sitesinde bir üye şöyle yorumlamış: “Müşteriyi elden kaçırmayacak en yüksek meblağa iş almak.”

4. Fiyatın belli bir miktarını peşin almalıdır: Freelance çalışan işinin devamlılığı ve karşı tarafın ciddiyeti kavraması bakımından toplam ücretin belli bir miktarını (yarısı, 1/3 gibi) peşin almalıdır. Bu işlem hem freelance çalışanın motivesini ve işe verdiği önemi artıracak, hem de karşı tarafın iş konusundaki ciddiyeti netleşecektir.

5. Belirttiği zamanda işi tam olarak teslim edebilmeli: Freelance çalışan işine önem vermeli, zamanında teslim edebilmelidir. Bu karşı tarafa saygı ilkesiyle de ilişkili bir durum olduğundan, eğer yetiştirememe durumu varsa, gerekli görüşmeler yapılıp ek süre talep etmelidir. İşveren ona göre bazı planlar yapmış olabilir. En iyisi en başından ek süre olayını da göz önünde bulundurmaktır. (3 hafta+1 hafta gibi.) Web sitesi yapıyorsa test süresi gibi bir süreyi de sürece dâhil etmelidir.

6. Yaptığı iş için belli bir süre teknik destek hizmeti vermelidir: Freelance çalışan işverene yaptığı iş sonucunda belli bir süre teknik destek hizmeti vermek durumundadır ve bundan ücret alıp almama işi tarafların kendi aralarındaki görüşmelere kalmıştır.

Bu 6 madde’ye uyarım diyorsanız “Freelance” güzel bir geçim kaynağı …

Statik ve Dinamik Web siteleri nasıl olmalıdır ?

Statik ve dinamik web sayfalarının yapısal çözümleri ve kullanıcı etileşimleri, statik ve dinamik sayfalar arasındaki farklara değinmek istedim.

Web sayfalarını genel olarak yapılarından ve kullanıcı etkileşimlerinden dolayı statik ve dinamik olarak 2 kısma ayırabiliriz.

Ayrımın genel nedeni olan kullanıcı etkileşimini de şu şekilde açıklamamız gerekmektedir:

Bir web sayfaya girdiğimde ben neler yapabiliyorum? Yazı yazabiliyor muyum, forumlara takılabiliyor muyum, ya da yorum yapabiliyor muyum? Site bünyesinde benden kaynaklanan herhangi bir değişikliğe yol açacak bir çalışmada bulunuyor muyum? Ya da daha gelişmiş bir siteyse başka kullanıcılar ile etkileşime girebiliyor muyum? Bu sorularınızın cevabı “hayır” ise, statik web sayfasında geziyorsunuz demektir. Bunu bir konferansa benzetebiliriz. Konuşmacı gelir, konu hakkındaki tüm fikirlerini anlatır, sunumları gösterir; bu aşamaya kadar herşey statik olarak ilerler. Konferans sonunda bizden soru istemesi ya da bizim de düşüncelerimizi öğrenme isteğini de dinamik olarak algılayabiliriz.

Genel olarak özelliklerine bakmak istersek:

Statik Web Sayfaları:

– Kullanıcı ve kullanıcılar arası etkileşim yoktur.
– Kullanıcı websitesi bünyesine her hangi bir bilgi, yorum yada yazı ekleyemez.
– Ziyaretçiye her hangi bir soru soramaz yada fikir alamaz.
– Genellikle html ve javascript kodlarıyla şekillendirilmiştir.
– Güncelleme sırasında tüm sayfanın yapısal özellikleri görünür ve tüm sayfa yapısı kodlar ile değiştirilebilir. Bu güncelleme zor ve zaman gerektiren bir yapıdır.

Dinamik Web Sayfaları:

– Kullanıcı ve kullanıcı grupları etkileşim içindedir. (Forum ve sohbet odaları gibi.)
– Kullanıcılar konu hakkında fikir belirtmek isterse bunu rahatca formu kullanarak (site bünyesinde bulunan) düşüncelerini aktarabilir ve diğer kullanıcılar ile paylaşabilir.
– Üyelik gerektiren siteler bunlara birer örnektir. Foruma üyelik sırasında sizden bilgilerinizi isterler.
– Statik websayfalarının yanı sıra server tabanlı kodlama dilleri kullanılır. Örnek olarak ASP ve PHP ilk sırada gösterilebilir.
– Güncelleme sırasında istenilen tek bir bölüm rahatlıkla güncellenebilir. Genellikle panel yapısına sahip sistemlerden oluşur. Kullanıcı panelı yada yönetici paneli mantıgı vardır. Gelişmiş bir yapısı vardır.

Dersimizi daha rahat anlamak için kendi web sayfamızla yani SANALKURS ile bağlantı kuralım. Sitemizin yapısını yavaş yavaş inceleyerek anlayalım.

Gelişmiş forum ve yorum mekanizmasını çıkaralım ve sadece yazarlar tarafından derslerin oldugu bir site olsun. Web sayfamıza bağlanıyorsunuz ve ilginizi çeken bir dersi okuyorsunuz. Ders bünyesinde ufak bir hata gördünüz, ya da eklemek istediğiniz bir satır cümleniz var, ama siz her hangi birşey yapamıyorsunuz. Bu tarz yapı statik web sayfalarını oluşturmaktadır. Diğer yönden düşünmeye başlayalım ve dinamik web sayfaların yapısını biraz daha iyi anlayalım. Dersimizi okuduk ve kafamızda soru işaretleri var ve sormadan yapamayacağız. Hemen aşağıda bulunan yorum kısmına geliyoruz ve sorumuzu soruyoruz. İşte o anda yaptıgımız bir çalışma site bünyesinde yer alıyor. Durum tamamiyle değişerek dinamik web sayfası oldu.