mam problem z filtrami nawigacyjnymi w module blocklayered.
Sklep działa jako multishop, a dany problem na razie dotyczy tylko sklepu głównego (w drugim sklepie nie ma jeszcze produktów).
Próbuje zrobić filtr koloru oraz rozmiaru. Produkty w sklepie posiadają takie atrybuty w ilości ok 200szt.
Jednak tworząc filtry oraz indeksując je w module blocklayered te atrybuty się nie indeksują. Zauważyłem, że gdy wybiorę opcję tworzenia filtrów dla Wszystkich kategorii to pojawia mi się filtr rozmiaru i koloru, natomiast jeśli wybiorę opcję tworzenia filtrów dla Specyficznych kategorii (mimo, ze wybiorę wszystkie kategorie), to już tych filtrów nie mam dostępnych.
podejrzewam, że winna za to jest opcja generowania atrybutów. W tabeli "ps_layered_product_attribute" nie ma żadnego rekordu. Jak wpisze tam ręcznie rekord to pojawia się dany filtr atrybutu.
Opcja generowania atrybutów działa tak, że najpierw kasuje tabelę, a następnie buduję ją od początku. Kasowanie działa, ale już budowanie atrybutów nie. Dlaczego?
w pliku modules/blocklayered/blocklayered.php jest taka funkcja:
/**
*
* Generate data product attribute
*/
public function indexAttribute($id_product = null)
{
if (is_null($id_product))
Db::getInstance()->execute('TRUNCATE '._DB_PREFIX_.'layered_product_attribute');
else
Db::getInstance()->execute('DELETE FROM '._DB_PREFIX_.'layered_product_attribute WHERE id_product = '.(int)$id_product);
Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'layered_product_attribute` (`id_attribute`, `id_product`, `id_attribute_group`, `id_shop`)
SELECT pac.id_attribute, pa.id_product, ag.id_attribute_group, product_attribute_shop.`id_shop`
FROM '._DB_PREFIX_.'product_attribute pa'.
Shop::addSqlAssociation('product_attribute', 'pa').'
INNER JOIN '._DB_PREFIX_.'product_attribute_combination pac ON pac.id_product_attribute = pa.id_product_attribute
INNER JOIN '._DB_PREFIX_.'attribute a ON (a.id_attribute = pac.id_attribute)
INNER JOIN '._DB_PREFIX_.'attribute_group ag ON ag.id_attribute_group = a.id_attribute_group
'.(is_null($id_product) ? '' : 'AND pa.id_product = '.(int)$id_product).'
GROUP BY a.id_attribute, pa.id_product , product_attribute_shop.`id_shop`');
return 1;
}
I myślę, że może z tym jest coś nie tak.
Chociaż mam inny testowy sklep Prestashop 1.5.6.1 multishop i tam filtry działają.
Może gdzieś powinienem mieć jakąś opcję zaznaczoną, której nie znalazłem?
Dziwne jest też to, że mimo ok. 200 atrybutów kolorów i 200 atrybutów rozmiarów - indeksacja trwa ok. 0,5 sekundy - nie za krótko?
Mam nadzieję, że coś mi poradzicie.
Może znacie jakiś zewnętrzny dobry moduł do filtrowania działający na multishop?
Question
jlo30
Witam,
mam problem z filtrami nawigacyjnymi w module blocklayered.
Sklep działa jako multishop, a dany problem na razie dotyczy tylko sklepu głównego (w drugim sklepie nie ma jeszcze produktów).
Próbuje zrobić filtr koloru oraz rozmiaru. Produkty w sklepie posiadają takie atrybuty w ilości ok 200szt.
Jednak tworząc filtry oraz indeksując je w module blocklayered te atrybuty się nie indeksują. Zauważyłem, że gdy wybiorę opcję tworzenia filtrów dla Wszystkich kategorii to pojawia mi się filtr rozmiaru i koloru, natomiast jeśli wybiorę opcję tworzenia filtrów dla Specyficznych kategorii (mimo, ze wybiorę wszystkie kategorie), to już tych filtrów nie mam dostępnych.
podejrzewam, że winna za to jest opcja generowania atrybutów. W tabeli "ps_layered_product_attribute" nie ma żadnego rekordu. Jak wpisze tam ręcznie rekord to pojawia się dany filtr atrybutu.
Opcja generowania atrybutów działa tak, że najpierw kasuje tabelę, a następnie buduję ją od początku. Kasowanie działa, ale już budowanie atrybutów nie. Dlaczego?
w pliku modules/blocklayered/blocklayered.php jest taka funkcja:
I myślę, że może z tym jest coś nie tak.
Chociaż mam inny testowy sklep Prestashop 1.5.6.1 multishop i tam filtry działają.
Może gdzieś powinienem mieć jakąś opcję zaznaczoną, której nie znalazłem?
Dziwne jest też to, że mimo ok. 200 atrybutów kolorów i 200 atrybutów rozmiarów - indeksacja trwa ok. 0,5 sekundy - nie za krótko?
Mam nadzieję, że coś mi poradzicie.
Może znacie jakiś zewnętrzny dobry moduł do filtrowania działający na multishop?
Prestashop 1.5.6.1
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now