tr-opencart

     
avatar Şuanki Zaman: 04-19-2024, 10:17 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  2464 - 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ş!
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
  opencart 3.x için iyzico ödeme metodu yükleme konusunda yardım istiyorum modasude 1 2,074 12-11-2018 04:15 PM
Son Mesaj: modasude
  [Mod] YARDIM Asena0683 4 1,217 11-06-2018 10:51 AM
Son Mesaj: Asena0683
  [Mod] Ajax Resimli Arama + Fiyat Gösterme Renkli e-ticaretdersleri 3 3,383 04-05-2018 09:51 AM
Son Mesaj: ufuk456
  iyzico problemi archysenos 1 1,802 01-20-2017 09:03 PM
Son Mesaj: karadenizfidancilik
  tükendi 1.5.6.3 yardım furkanyvz 0 1,689 06-06-2016 12:43 PM
Son Mesaj: furkanyvz
  [Mod] Alt Kategori Resimlerini Gösterme Eklentisinde Yardım cokasi 3 2,740 05-01-2016 03:29 PM
Son Mesaj: Montana
  hespi burada slider arıyorum lutfen yardımcı olun drakula37 2 2,105 02-05-2016 09:37 PM
Son Mesaj: drakula37
Sad vqmod kurdum site tepki vermiyor cok **** bi yardım nevruzenci 0 1,777 09-17-2015 11:44 AM
Son Mesaj: nevruzenci
Exclamation Tüm tarayıcılarda cache problemi tigrap 2 2,297 08-30-2015 05:04 PM
Son Mesaj: tigrap
  Hesabım ve arama motoru bot izleme modülü atmel 5 4,754 05-03-2015 02:51 PM
Son Mesaj: viper_aykiri

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: