seoseo
tr-opencart

     
avatar Şuanki Zaman: 12-05-2016, 03:26 AMHoşgeldin Misafir !
  Şifremi Hatırlat   kayıt ol
opencart temaları

DETAYLI ARAMA PROBLEMİ - ACİL YARDIM LÜTFEN

Konuyu görüntüleyenler: 1 Misafir
 
Değerlendir:
  • 2 Oy - 3 Yüzde
  • 1
  • 2
  • 3
  • 4
  • 5
%
Cevapla  Gönder 
v  v
Yazar  codepenman - Görüntüleme - Okunma  877 - Yorum  1

codepenmanv
Acemi Üye
**
Üye user avatar
Çevrimdışı

Mesajlar: 2
Konular: 1
Katılma Tarihi: Aug 2013
Rep Puanı: 0
Teşekkürler: 0
0 Mesajına, 0 Teşekkür edildi.



Kişisel Bilgileri: v
Konu Tarihi: 08-25-2013 04:45 PM
Yakın bir arkadaşım Opencart 1.5.1.3 ile rusça yapılmış petshop sitesinin güncellemesini aldı.
Ne olduysa, Search Advanced v0.0.9 bileşeni problem çıkartmaya başladı;
Kategori sayfası içerisinde, solda bulunan arama kutucuğunda arama yaparken

Üreticiler, Araçlar, Oyuncaklar gibi opsiyon başlıklarından 3 yada daha fazlasını seçip aratınca hiçbir ürün kaydı bulunamıyor.

Sayfa linki;

http://labrik.by/%D0%B4%D0%BB%D1%8F-%D1%...0%B0%D0%BA


sani 1 üretici, 1 araç, 1 oyuncak seçersek hiçbir kayıt bulunamıyor. chrome ile rusçadan türkçeye çevirip inceleyebilirsiniz.

Bugün içinde çözmem gerekiyor, tek ümidim de sizlersiniz arkadaşlar, lütfen yardımcı olun.
Alıntı Yaparak Cevapla
Paylaş!
opencart temaları
codepenmanv
Acemi Üye
**
Üye user avatar
Çevrimdışı

Mesajlar: 2
Konular: 1
Katılma Tarihi: Aug 2013
Rep Puanı: 0
Teşekkürler: 0
0 Mesajına, 0 Teşekkür edildi.



Kişisel Bilgileri: v
Konu Tarihi: 08-26-2013 04:48 PM
Değerli sabitertan günlerdir beni bitiren soruna belkide bir saat içinde çözüm buldu sağolsun var olsun!

Search Advanced v0.0.9 adlı opencart 1.5.1.3 te kurulu eklenti, detaylı arama sayfasında 2 üretici firma 2 ürün kategorisi seçtiğimizde 0 kayıt döndürüyordu. ayrıca tüm kriterleri seçtiğimizde de benzer hatalar oluyordu. Bu problem yüzünden az daha müşteriyle mahkemelik olacaktık.

Zannediyorum scriptte bu hata en başından beri vardı ve bir şekilde bizim zamanımızda patlak verdi.

Aynı sorunu yaşayanlar için çözümü;

www/catalog/model/catalog/search_advanced.php dosyasında
aşağıdaki kod bloğunu

Kod:
if ($data['filter_attributes']) {
            foreach ($data['filter_attributes'] as $attribute) {
                foreach ($attribute['text'] as $attribute_text) {
                    if ($attribute_text['type'] == 'checkbox' || $attribute_text['type'] == 'radio') {
                        $implode = array ();
                        
                        $text = FALSE;
                        
                        foreach ($attribute_text['text'] as $attribute_text_1) {
                            
                            if ($attribute_text_1['checked']) {
                                $attribute_text_1['value'] = $this->db->escape($attribute_text_1['value']);
                                
                                if ($setting['attributes'][$attribute_text['id']]['sep']) {
                                    $implode[] = 'pa.text = "' . $attribute_text_1['value'] . '"';
                                    $implode[] = 'pa.text LIKE "%' . $setting['attributes'][$attribute_text['id']]['sep'] . $attribute_text_1['value'] . '"';
                                    $implode[] = 'pa.text LIKE "' . $attribute_text_1['value'] . $setting['attributes'][$attribute_text['id']]['sep'] . '%"';
                                    $implode[] = 'pa.text LIKE "%' . $setting['attributes'][$attribute_text['id']]['sep'] . $attribute_text_1['value'] . $setting['attributes'][$attribute_text['id']]['sep'] . '%"';
                                } else {
                                    $text .= '"' . $attribute_text_1['value'] . '",';
                                }
                            }
                        }
                        
                        $text .= ($implode) ? ' AND (' . implode (' OR ', $implode) . ')' : FALSE;
                        
                        if ($text) {
                            if ($setting['attributes'][(int) $attribute_text['id']]['sep']) {
                                $sql .= ' AND p.product_id IN (SELECT pa.product_id FROM ' . DB_PREFIX . 'product_attribute pa WHERE pa.attribute_id = ' . (int) $attribute_text['id'] . $text . ')';
                            } else {
                                $sql .= ' AND p.product_id IN (SELECT pa.product_id FROM ' . DB_PREFIX . 'product_attribute pa WHERE pa.attribute_id = ' . (int) $attribute_text['id']. ' AND pa.text IN (' . substr ($text, 0, -1) . '))';
                            }
                        }
                    } else if ($attribute_text['type'] == 'slider') {
                        $sql .= ' AND p.product_id IN (SELECT pa.product_id FROM ' . DB_PREFIX . 'product_attribute pa WHERE pa.attribute_id = ' . (int) $attribute_text['id'] . ' AND pa.text BETWEEN ' . (float) $attribute_text['text']['min_cur'] . ' AND ' . (float) $attribute_text['text']['max_cur'] . ')';
                    }
                }
            }
        }

bu kod bloğu ile değiştirince sorun çözülüyor;


Kod:
        if ($data['filter_attributes']) {
        $sql_attr='';
        $sql .= ' AND p.product_id IN (SELECT pa.product_id FROM ' . DB_PREFIX . 'product_attribute pa WHERE pa.text IN (';
            foreach ($data['filter_attributes'] as $attribute) {
                foreach ($attribute['text'] as $attribute_text) {
                    if ($attribute_text['type'] == 'checkbox' || $attribute_text['type'] == 'radio') {
                        $implode = array ();
                        
                        $text = FALSE;
                        
                        foreach ($attribute_text['text'] as $attribute_text_1) {
                            
                            if ($attribute_text_1['checked']) {
                                $attribute_text_1['value'] = $this->db->escape($attribute_text_1['value']);
                                
                                if ($setting['attributes'][$attribute_text['id']]['sep']) {
                                    $implode[] = 'pa.text = "' . $attribute_text_1['value'] . '"';
                                    $implode[] = 'pa.text LIKE "%' . $setting['attributes'][$attribute_text['id']]['sep'] . $attribute_text_1['value'] . '"';
                                    $implode[] = 'pa.text LIKE "' . $attribute_text_1['value'] . $setting['attributes'][$attribute_text['id']]['sep'] . '%"';
                                    $implode[] = 'pa.text LIKE "%' . $setting['attributes'][$attribute_text['id']]['sep'] . $attribute_text_1['value'] . $setting['attributes'][$attribute_text['id']]['sep'] . '%"';
                                } else {
                                    $text .= '"' . $attribute_text_1['value'] . '",';
                                }
                            }
                        }
                        
                        $text .= ($implode) ? ' AND (' . implode (' OR ', $implode) . ')' : FALSE;
                        
                        if ($text) {

                                $sql_attr .= ' '.$text;
                            
                        }
                    } else if ($attribute_text['type'] == 'slider') {
                        $sql .= ' AND p.product_id IN (SELECT pa.product_id FROM ' . DB_PREFIX . 'product_attribute pa WHERE pa.attribute_id = ' . (int) $attribute_text['id'] . ' AND pa.text BETWEEN ' . (float) $attribute_text['text']['min_cur'] . ' AND ' . (float) $attribute_text['text']['max_cur'] . ')';
                    }
                }
            }
            $sql.=substr($sql_attr,0,-1).'))';
        }

Yalnız upload ettikten sonra

+ admin panelden Search Advanced v0.0.9 eklentisi ayarlarından (Edit), Attributes kısmındaki tüm "separator" isimli textboxlarda bulunan virgül "," karakterlerini de silip sayfayı kaydedip, ardından
www/system/cache içerisindeki dosyalarıda silmeniz lazım.

eklenti gayet düzgün şekilde çalışacaktır.
Alıntı Yaparak Cevapla
Paylaş!

« Önceki | Sonraki »
Cevapla  Gönder 

DETAYLI ARAMA PROBLEMİ - ACİL YARDIM LÜTFEN Konusunun Linki Direk Link
DETAYLI ARAMA PROBLEMİ - ACİL YARDIM LÜTFEN Konusunun HTML Kodu HTML Link
DETAYLI ARAMA PROBLEMİ - ACİL YARDIM LÜTFEN Konusu BBCode Linki BBCode Link
DETAYLI ARAMA PROBLEMİ - ACİL YARDIM LÜTFEN Konusunu Paylaş Sosyal Paylaş

Benzeyen Konular
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  tükendi 1.5.6.3 yardım furkanyvz 0 126 06-06-2016 12:43 PM
Son Mesaj: furkanyvz
  [Mod] Alt Kategori Resimlerini Gösterme Eklentisinde Yardım cokasi 3 302 05-01-2016 03:29 PM
Son Mesaj: Montana
  hespi burada slider arıyorum lutfen yardımcı olun drakula37 2 354 02-05-2016 09:37 PM
Son Mesaj: drakula37
Sad vqmod kurdum site tepki vermiyor cok **** bi yardım nevruzenci 0 345 09-17-2015 11:44 AM
Son Mesaj: nevruzenci
Exclamation Tüm tarayıcılarda cache problemi tigrap 2 513 08-30-2015 05:04 PM
Son Mesaj: tigrap
  Hesabım ve arama motoru bot izleme modülü atmel 5 2,282 05-03-2015 02:51 PM
Son Mesaj: viper_aykiri
Exclamation [Modifikasyon] Elle Fiyat Yazma (Yardım) alish 8 1,475 02-12-2015 12:42 PM
Son Mesaj: nickelaj
  Bazı modüller arıyordum yardım edebilcek var mı? blade538 1 501 02-07-2015 11:51 PM
Son Mesaj: Gökhan TAYLAN
  Sizin için seçtiklerimiz modülü yardım barikat87 1 672 01-29-2015 01:48 PM
Son Mesaj: barikat87
  excel import / export mysql hatası hakkında yardım ?? excray 0 869 01-28-2015 10:13 PM
Son Mesaj: excray

DETAYLI ARAMA PROBLEMİ - ACİL YARDIM LÜTFEN indir, DETAYLI ARAMA PROBLEMİ - ACİL YARDIM LÜTFEN Videosu, DETAYLI ARAMA PROBLEMİ - ACİL YARDIM LÜTFEN online izle, DETAYLI ARAMA PROBLEMİ - ACİL YARDIM LÜTFEN Bedava indir, DETAYLI ARAMA PROBLEMİ - ACİL YARDIM LÜTFEN Yükle, DETAYLI ARAMA PROBLEMİ - ACİL YARDIM LÜTFEN Hakkında, DETAYLI ARAMA PROBLEMİ - ACİL YARDIM LÜTFEN nedir, DETAYLI ARAMA PROBLEMİ - ACİL YARDIM LÜTFEN Free indir, DETAYLI ARAMA PROBLEMİ - ACİL YARDIM LÜTFEN oyunu, DETAYLI ARAMA PROBLEMİ - ACİL YARDIM LÜTFEN download


Forum Atla: