opencart 1.5.5.1 Süzgeç (Filtre) Kullanım klavuzu

memetalpay

OpenCart-TR
Katılım
22 May 2012
Mesajlar
200
Tepkime puanı
0
Puanları
16
Merhabalar;
arkadaşlar opencartın yeni sürümünde gelen süzgeç modülünü az da olsa açıklamaya çalıştım ihtiyacı olan arkadaşlar bilgilenir .
İLK ADIM OLARAK SÜZGEÇ EKLİYORUZ ;
katalog>>süzgeçler yeni süzgeç ekleyelim
örn; Renk
İKİNCİ ADIM OLARAK ALT SÜZGEÇ EKLİYORUZ;
Renk süzgecimize renkler tanımlayalım
örn; kırmızı,mavi,beyaz,siyah
burada süzgecimizi tanımladık .
ÜCÜNCÜ ADIM KATEGORİYE TANIMLAMA ;
Kategorilere girip hangi BİR Kategori seçip >> düzenle ye tıklıyoruz;
VERİ tabına giriyoruz süzgeçler yazan kısma k harfi yazıyoruz otomatik olarak karşımıza kırmızı çıkıyor ve seçiyoruz ve bütün renkler için tekrarlıyoruz ve tamam deyip kapatıyoruz .
DÖRDÜNCÜ ADIM ÜRÜNLERİ TANIMLAMA;
Süzgeç eklediğimiz kategoriye ait ürüne giriyoruz,
bağlantılar sekmesinden süzgeçler kısmına rengimizi belirtiyoruz
örn;kırmızı ve bundan sonra istediğim ürüne aynı işlemi uyguluyoruz
BEŞİNCİ ADIM MODÜL AKTİF EDİYORUZ ;
Modüller>>süzgeçler ;
bölüm ;Kategoriler
pozisyon ; sol blok
durum ; açık
ALTINCI ADIM TEŞEKKÜR ;
opencart formuna girip cevabı yazan mehmet arkadışımıza teşekkür ediyoruz :)
ŞAKA BİR YANA;
ASLINDA UZUN BİR İŞLEM GİBİ DURUYOR AMA SÜZGEÇLERİ KATEGORİLERE TANIMLADIKTAN SONRA PEK FAZLA SIKINTI OLMAZ DİYE DÜŞÜNÜYORUM ,
UMARIM BİR ÇOK ARKADAŞIMIZA BU KONUDA YARDIMCI OLUR BU YAZIM.
 

Tugce34

OpenCart-TR
Katılım
1 Nis 2013
Mesajlar
13
Tepkime puanı
0
Puanları
0
Teşekkürler...Mehmet Arkadaşım.
 

seodizayn

OpenCart-TR
Katılım
30 Mar 2013
Mesajlar
5
Tepkime puanı
0
Puanları
0
Teşekkürler yararlı paylaşım için.
 

murathan

OpenCart-TR
Katılım
16 Nis 2013
Mesajlar
9
Tepkime puanı
0
Puanları
0
aynı dediğiniz şekilde yaptım ama ürünler filtrelenmemekte. yardımcı olurmusunuz

http://burasiucuz.com/index.php?route=product/category&path=101_102&filter


her ürünün içeriği teker teker tanımlandı fakat sadece siyah cam ve döküm işaretlendiğinde gri çelik ocakların tümü de çıkıyor. filtrelenmiyor. bana bu konu hakkında yardımcı olabilecek bir arkadaş varmı.
 

doxxa

OpenCart-TR
Katılım
12 Mar 2013
Mesajlar
31
Tepkime puanı
0
Puanları
0
Klavuzu var ama modülü nerede bunun arkadaşlar? opencart 1.5.4. için de arıyorum. biri linki verebilir mi?
 

memetalpay

OpenCart-TR
Katılım
22 May 2012
Mesajlar
200
Tepkime puanı
0
Puanları
16
mesajda belirttiğim gibi 1.5.5.1 sürümü ile gelen süzgeç modülü 1.5.5.1 yüklemenizi öneririm

doxxa' Alıntı:
Klavuzu var ama modülü nerede bunun arkadaşlar? opencart 1.5.4. için de arıyorum. biri linki verebilir mi?
 

artinte

OpenCart-TR
Katılım
12 Şub 2013
Mesajlar
9
Tepkime puanı
0
Puanları
0
qmdw1.bmp


Yukarıda ki resime bakarsanız kendi süzgeç modülüdür opencart'ın ama buna rağmen 4GB seçiliyken 1GB'da çıkıyor sahneye yada kingston seçiliyken de corsair'de çıkıyor ekrana neden sizce arkadaşlar burada anlatılanları tek tek elit elit yaptım?

Kısaca 2. bir seçenek seçilemiyor süzgeç olayında tek filtreleme var bilginiz olsun.
 

memetalpay

OpenCart-TR
Katılım
22 May 2012
Mesajlar
200
Tepkime puanı
0
Puanları
16
evet haklısınız aşağıdakileri bi deneyin bakalım düzelecek mi

\ Katalog \ view \ tema \ default \ template \ modülü \ filter.tpl
bul
Kod:
location = '<?php echo $action; ?>&filter=' + filter.join(',');
değiştir
Kod:
location = '<?php echo $action; ?>&filter=' + filter.join(' and ');
 

artinte

OpenCart-TR
Katılım
12 Şub 2013
Mesajlar
9
Tepkime puanı
0
Puanları
0
Bu sefer de karışıyor birbirine iptal ediyor seçenekleri

Max. 2 seçenek oluyor fazlasını kabul etmiyor

Şöyle anlatayım mesela 1GB Kingston'u seçiyorum ancak 400MHz seçtiğim zaman yanında 800MHz olanda çıkıyor yani 1GB Kingston'ların hepsini çıkartıyor fakat yine dahada daraltmak için MHz de seçince kabul etmiyor 3.yü.
 

memetalpay

OpenCart-TR
Katılım
22 May 2012
Mesajlar
200
Tepkime puanı
0
Puanları
16

catalog\model\catalog\product.php

bul

Kod:
$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";

değiştir
Kod:
$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf_1 ON (p2c.product_id = pf_1.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)"; 
$fid_array = array(); 
$filters = explode(',', $data['filter_filter']); 
foreach ($filters as $filter_id) { 
$fid_array[] = (int)$filter_id; 
} 
$query = $this->db->query("SELECT COUNT(DISTINCT filter_group_id) AS num_fgid FROM " . DB_PREFIX . "filter_description WHERE filter_id IN(" . implode(',', $fid_array) . ")"); 
if(!empty($query->row['num_fgid'])) { 
for ($thisgrp = 2; $thisgrp <= $query->row['num_fgid']; $thisgrp++) { 
$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf_" . $thisgrp . " ON (p2c.product_id = pf_" . $thisgrp . ".product_id) "; 
} 
}

bul

Kod:
$implode = array(); 

$filters = explode(',', $data['filter_filter']); 

foreach ($filters as $filter_id) { 
$implode[] = (int)$filter_id; 
} 

$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";

değiştir

Kod:
$query = $this->db->query("SELECT fd.filter_group_id, fd.filter_id, n.num_sel_filters_in_grp FROM " . DB_PREFIX . "filter_description fd left join (SELECT filter_group_id, count(filter_group_id) as num_sel_filters_in_grp FROM " . DB_PREFIX . "filter_description WHERE filter_id IN (" . implode(',', $fid_array) . ") GROUP BY filter_group_id) as n on fd.filter_group_id = n.filter_group_id WHERE filter_id IN (" . implode(',', $fid_array) . ") GROUP BY fd.filter_group_id, fd.filter_id"); 
if ($query->num_rows) { 
$g_count = 0; 
$f_count = 0; 
$last_fgid = -1; 
foreach ($query->rows as $frow) { 
$f_count += 1; 
if ($frow['filter_group_id'] != $last_fgid) { 
$g_count += 1; 
$f_count = 1; 
$last_fgid = $frow['filter_group_id']; 
$sql .= " AND (pf_" . $g_count . ".filter_id = " . $frow['filter_id']; 
} 
else { 
if ($frow['num_sel_filters_in_grp'] > 1) { 
$sql .= " OR pf_" . $g_count . ".filter_id = " . $frow['filter_id']; 
} 
} 
if ($f_count == $frow['num_sel_filters_in_grp']) { 
$sql .= ")"; 
} 
} 
}

bul

Kod:
$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (pf.product_id = p.product_id)";

değiştir
Kod:
$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf_1 ON (p2c.product_id = pf_1.product_id) LEFT JOIN " . DB_PREFIX . "product p ON (p2c.product_id = p.product_id)"; 
$fid_array = array(); 
$filters = explode(',', $data['filter_filter']); 
foreach ($filters as $filter_id) { 
$fid_array[] = (int)$filter_id; 
} 
$query = $this->db->query("SELECT COUNT(DISTINCT filter_group_id) AS num_fgid FROM " . DB_PREFIX . "filter_description WHERE filter_id IN(" . implode(',', $fid_array) . ")"); 
if(!empty($query->row['num_fgid'])) { 
for ($thisgrp = 2; $thisgrp <= $query->row['num_fgid']; $thisgrp++) { 
$sql .= " LEFT JOIN " . DB_PREFIX . "product_filter pf_" . $thisgrp . " ON (p2c.product_id = pf_" . $thisgrp . ".product_id) "; 
} 
}

bul

Kod:
$implode = array(); 

$filters = explode(',', $data['filter_filter']); 

foreach ($filters as $filter_id) { 
$implode[] = (int)$filter_id; 
} 

$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";

değiştir

Kod:
$query = $this->db->query("SELECT fd.filter_group_id, fd.filter_id, n.num_sel_filters_in_grp FROM " . DB_PREFIX . "filter_description fd left join (SELECT filter_group_id, count(filter_group_id) as num_sel_filters_in_grp FROM " . DB_PREFIX . "filter_description WHERE filter_id IN (" . implode(',', $fid_array) . ") GROUP BY filter_group_id) as n on fd.filter_group_id = n.filter_group_id WHERE filter_id IN (" . implode(',', $fid_array) . ") GROUP BY fd.filter_group_id, fd.filter_id"); 
if ($query->num_rows) { 
$g_count = 0; 
$f_count = 0; 
$last_fgid = -1; 
foreach ($query->rows as $frow) { 
$f_count += 1; 
if ($frow['filter_group_id'] != $last_fgid) { 
$g_count += 1; 
$f_count = 1; 
$last_fgid = $frow['filter_group_id']; 
$sql .= " AND (pf_" . $g_count . ".filter_id = " . $frow['filter_id']; 
} 
else { 
if ($frow['num_sel_filters_in_grp'] > 1) { 
$sql .= " OR pf_" . $g_count . ".filter_id = " . $frow['filter_id']; 
} 
} 
if ($f_count == $frow['num_sel_filters_in_grp']) { 
$sql .= ")"; 
} 
} 
}
 

artinte

OpenCart-TR
Katılım
12 Şub 2013
Mesajlar
9
Tepkime puanı
0
Puanları
0
Bir sürü kombinasyon denedim ama min 2 sonuç gösteriyor sayfada

Aynı Hocam denedim
 

openkurumsal

OpenCart-TR
Katılım
11 Ağu 2013
Mesajlar
11
Tepkime puanı
0
Puanları
0
artinte' Alıntı:
Bir sürü kombinasyon denedim ama min 2 sonuç gösteriyor sayfada

Aynı Hocam denedim



Piyasa da Opencart Detaylı Filtre Modülü diye geçen modüller var hiç bir ayar yapmanıza gerek kalmadan kendisi otomatik olarak tüm ürünleri istediğiniz şekilde filtreliyor.
 

t.ozcan

OpenCart-TR
Katılım
2 Eki 2013
Mesajlar
9
Tepkime puanı
0
Puanları
0
Ben tüm işlemleri yaptığım halde ne ana sayfada ne de diğer taraflarda görünmüyor :(
 

t.ozcan

OpenCart-TR
Katılım
2 Eki 2013
Mesajlar
9
Tepkime puanı
0
Puanları
0
herşeyi denedim ama tıklanabilir halde olmuyor.
Görüntü olarak sadece isimler görünüyor ama üzerine gelince hiç bir şey olmuyor nerde hata yapıyorum? 1.5.6 kullanıyorum.
 

mugem

OpenCart-TR
Katılım
12 Mar 2011
Mesajlar
2
Tepkime puanı
0
Puanları
0
t.ozcan' Alıntı:
Ben tüm işlemleri yaptığım halde ne ana sayfada ne de diğer taraflarda görünmüyor :(

aynen hiç bir sayfada görünmemektedir lütfen yardım plas
 

keskin

OpenCart-TR
Katılım
23 Eyl 2013
Mesajlar
2
Tepkime puanı
0
Puanları
0
Çok güzel bir anlatım, kendi başıma denemiştim ama yapamamıştım, şimdi yaptım, çok güzel oldu. Çok teşekkür ederim.
 

hasere

OpenCart-TR
Katılım
19 Ocak 2013
Mesajlar
8
Tepkime puanı
0
Puanları
0
fitre modülünün ne işe yarayacağını bilmiyordum. kılavuz yazı işimi gördü teşekkürler
 

kealowski

OpenCart-TR
Katılım
10 Eki 2012
Mesajlar
2
Tepkime puanı
0
Puanları
0
Selam Arkadaşlar,

bu konu ile alakalı "Filters modded by OR AND" adında bir modül bulunmaktadır.
Ben kurdum, test ettim. Gayet başarılı çalışıyor
 
Üst