17 Temmuz 2013 Çarşamba

Opencart Gelişmiş Ürün Koduna Göre Arama

Bildiğiniz gibi opencart 1.5.4 versiyonundan sonra ürün koduna göre arama sisteme eklendi. Fakat bu ekleme bana göre yeterli olmadı çünkü aramalarda ürün kodunun tamamı yazılmadığı takdirde sonuçlarda görüntülenmiyor. Mesela ürün kodunuz diyelim ki "12345" olsun, arama kısmına "1234" yazdığımızda "Aradığınız kriterlerde ürün bulunamadı." yazısı ile karşılaşıyoruz. Aşağıdaki değişiklikleri yaptığınız takdirde Ürün kodunun tamamının yazılmasına gerek kalmıcak.

catalog > model > catalog > product.php yi açın

1) Aşağıdaki kodu bulun. 127. satır ve 528. satır civarında
if (!empty($data['filter_description'])) {
  $sql .= " OR pd.description LIKE '%" . $this->db->escape($data['filter_name']) . "%'";
 }

Altına aşağıdaki kodu ekleyin.
if (!empty($data['filter_name'])) {
 $sql .= " OR p.model LIKE '%" . $this->db->escape($data['filter_name']) . "%'";
}

2) Aşağıdaki kodu bulun ve silin. 140. satır ve 541. satır civarında
if (!empty($data['filter_name'])) {
 $sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";
}

Dikkat etmeniz gereken husus, bu değişiklikleri iki yerde yapmanız gerekiyor. Zaten yaklaşık satır numaralarını da verdim. Umarım işinize yarar.

9 Temmuz 2013 Salı

Opencart WPos Pro v2 Yapı Kredi Klasik Sanal Pos Kurulumu

Bu konuda ki soruların cevapları duzgun.com'da verilmiştir. Ben bu yazıda sorunların cevaplarını derli toplu bir şekilde vermeye çalışacağım ve admin paneli kısımlarını doğru yaptığınızı varsayıyorum bu kısım hakkında detaylı bilgiye duzgun.com'dan veya Garanti Bankası Klasik Sanal Pos Kurulumu yazısında bulabilirsiniz. Yapı Kredi'den test bilgilerini istediğinizde ("possupp@yapikredi.com.tr" adresine mail atarak bilgileri alabilirsiniz.) size

K. Adı: xxxxx
Şifre: xxxxx
Üye işyeri no (MID): xxxxx
Terminal no (TID): xxxxx
PosNet no: xxxxx
Sabit IP: xxxxx

bu bilgileri göndereceklerdir. Ben daha önceden tanımlatmış olduğum için bana direk "Sabit IP" numaramı gönderdiler fakat sizin tanımlatmanızı isteyebilirler. Yapı kredi sorunlarının ilki "Hata no: 0002" dir. Bu hatanın nedeni yapı kredi'nin istediği "order id" 24 karakter olmak zorunda fakar biz 23 karakter gönderdiğimizden kaynaklanıyor. Bunun çözümü için
system\helper\webpos\execution\ykbnk.php yi açın.

1) Aşağıdaki kodu bulun

    $oid = (strlen($DataArray['orderid'])>24)? substr(str_replace('.','0',$DataArray['orderid']),0,24):substr('00000000000000000000',0,(24-strlen($DataArray['orderid']))).str_replace('.','0',$DataArray['orderid']);

Aşağıdaki kod ile değiştirin.
    $oid = (strlen($DataArray['orderid'])>24)? substr(str_replace('.','0',$DataArray['orderid']),0,24):substr('000000000000000000000',0,(24-strlen($DataArray['orderid']))).str_replace('.','0',$DataArray['orderid']);

2) Aşağıdaki kodu bulun.
    //curl_setopt($ch, CURLOPT_INTERFACE,'');

Aşağıdaki kod ile değiştirin.
    curl_setopt($ch, CURLOPT_INTERFACE,'Sabit İpnizi yazınız');

Bu işlemi yaptıklan sonra "Bir hata oluştu (Hata no:0002) Tekrar deneyiniz. Sorun devam ederse lütfen bizimle temasa geçiniz." hatası giderilmiş olacak.

Diğer bi hata "Hata Kodu: 127" hatası alıyorsanız. Havale yöntemini seçerek bi tane sipariş verin. Sonra başka bi ürün seçerek test işlemini tekrar deneyin. "Mid, Tid, Hatalı IP" hatası alıyorsanız mid, tid değerlerini kontrol edin doğruysa 2. işlemdeki yazdığınız ip'yi kontrol edin oda doğruysa ipniz tanımlanmamıştır.

1 Temmuz 2013 Pazartesi

Opencart WPos Pro v2 Garanti Bankası Klasik Sanal Pos Kurulumu

Bu konuda çok sıkıntı çekmiş biri olarak araştırmalarım sonunda gördüm ki sorun yaşayanlar ve neyin nereye yazılacağını bilmeyen yeni başlayanlar için düzgün bir bilgi ve anlatım bulma macerası formlarda oradan oraya dolaşıp en sonunda sıkılıp kapatarak son buluyor. Birde garantinin göndermiş olduğu dökümanların karışıklığı yüzünden ben dahil kimse onlara kafa yormuyor. Aslında tüm sorularımızın cevapları o dökümantasyonlarda mevcut. duzgun.com'daki yönergeleri düzgün bir şekilde yaptıysanız eğer sistemsel bir hata almamanız gerekiyor ki ben opencart 1.5.5.1 sürümünü kullanıyorum gayet iyi çalışıyor. Eğer sistem hatası alıyorsanız benim önerim yönergeleri en baştan gözden geçirmeniz eğer hala hata alıyorsanız sorun temanızdan veya taksit tabını aktif etmemek, ödeme kısmı ayarlarını doğru girmemeniz gibi sorunlardan kaynaklanıyor olabilir. Ayrıca bankaya ip tanıtma gibi şeyler yazılmış formlara. Artık öyle bir şeye gerek yok.

Öncelikle panelde yapılması gerekenleri kendi yaptığım şekilde anlatıyım.
"Eklentiler > Sipariş toplamları" bölümüne girip "Toplam" kısmını düzenleye tıklayıp sıralaması alanına "10" yazıyoruz. Sonra "Taksit" kısmı düzenleye tıklayıp durumu kapalı ise açık yapıp sıralama kısmına 9 yazıyoruz yani "Toplam" bölümü sıralamasını bir sıra ileri alıp oraya "taksit" bölümünü yerleştiriyoruz.














"Eklentiler > Ödeme metodları" bölümüne girip "Webpos Pro" düzenleye tıklayıp aşağıdaki resimde görülen ayarları giriyoruz.






































Kırmızı ile işaretlediğim alanlar kendinize göre düzenleyebileceğiniz alanlardır. "Ödeme Modu" eğer test ortamında çalışacaksanız test olacak. "Sipariş durumu" sekmede açılanlardan size uygun olanı seçin "Numpad" bölümüde keyfinize göre açık olabilir. Açık yapıp deneyin beğenirseniz açık yaparsınız.


Bu işlemlerden sonra işimiz "System > helper > Webpos" klasörü altındaki "GARAN.php" ile yapılacak işlemlere geliyor.

Öncelikle bankanın "https://sanalposweb.garanti.com.tr/gvpsui/login/LoginStart.jsp" adresindeki işlemleri yaptığınızı varsayıyorum ki bilmeyenler "0212 444 0 339" nolu garanti bankası müşteri hizmetlerini arayarak ne yapması gerektiği konusunda yönlendirme alabilirler.
























Test ortamı için gereken bilgileri zaten resimde görüldüğü gibi doldurmanız yeterli olacaktır. Test ortamı kart bilgileri bankanın gönderdiği dökümantasyonlarda mevcut. O bilgilerle siteden ürün almayı deneyin eğer siparişiniz tamamlanıyor ise muhtemelen herşey normaldir. Ama ben emin olmak için bankayı aradım. Test ortamında siparişim tamamlandı. Sistemde gözüküp gözükmediğini sordum onaylayıp gerçek ortama geçebilirsiniz dediler. Sizinde emin olmanız açısından aramanızda fayda var.

Gerçek ortam içinse aşağıdaki yönergelere uygun doldurmalısınız.

API::$real_gateway = 'sanalposprov.garanti.com.tr';    // Kalıyor
API::$real_gatpath = '/VPServlet';                                    // Kalıyor
API::$real_apimode = 'PROD'; // PROD - TEST             // Kalıyor
API::$real_apiprovuserid = 'PROVAUT';                         // Kalıyor
API::$real_apipropassword = '';                                      // Şifreniz                    
API::$real_apiagentuserid = '';                                         // Kullanıcı adınız
API::$real_apimerchantid = '';                                         // Üye İşyeri no
API::$real_apiterminalid = '';                                           // Terminal numaranız

Bu işlemleri yaptığınız takdirde herhangi bir sorun yaşamamanız gerekiyor.