Georgex1 Posted January 24, 2011 Share Posted January 24, 2011 Zdravím, chtěl bych začít používat Filtr výrobců , co má na stránkách http://www.broucek-a-beruska.cz/.Filtr jsem vložil, a několikrát kontroloval, a nyní když kliknu na výrobce, v nadpisu stránky kategorie se objeví kategorie a správný odfiltrovaný počet produktů a zmenší stránkování, ale v seznamu jsou uvedeny všechny produkty.Dělalo to někomu ?Mám PS 1.25 Link to comment Share on other sites More sharing options...
Georgex1 Posted January 25, 2011 Author Share Posted January 25, 2011 Tak jsem zjisti podle úprav které se mají udělat podle návodu že je chyba asi tady 8) paste following code: $id_manufacturer = Tools::getValue('manufacturer'); if (is_array($id_manufacturer)) $manufacturers = ' AND p.`id_manufacturer` IN ('.implode(',', $id_manufacturer).')'; elseif (is_int($id_manufacturer)) $manufacturers = ' AND p.`id_manufacturer` = '.$id_manufacturer; else $manufacturers = ''; into /classes/Category.php in function getProducts after code: $id_supplier = intval(Tools::getValue('id_supplier')); and this code: '.$manufacturers.' into /classes/Category.php in function getProducts in front of the code: '.($id_supplier ? 'AND p.id_supplier = '.$id_supplier : ''); první část je jednoduchá, ale ... if ($getTotal) { $result = Db::getInstance()->getRow(' SELECT COUNT(cp.`id_product`) AS total FROM `'._DB_PREFIX_.'product` p LEFT JOIN `'._DB_PREFIX_.'category_product` cp ON p.`id_product` = cp.`id_product` WHERE cp.`id_category` = '.intval($this->id).($active ? ' AND p.`active` = 1' : '').' '.$manufacturers.''.($id_supplier ? 'AND p.id_supplier = '.$id_supplier : '').''); return isset($result) ? $result['total'] : 0; } do kódu jsem vložil '.$manufacturers.' , ale na konci řádku jsou uvedeny dvě závorky oproti návodu (jedna ale musí zakončovat $id_supplier a druhá getRow)PS: jsem uvedl pouze zde na foru Link to comment Share on other sites More sharing options...
Georgex1 Posted January 25, 2011 Author Share Posted January 25, 2011 Už jsem to vyřešil následujícím kódem product-list.tplza >{if isset($products)} <!-- Products list --> </pre> <ul> {foreach from=$products item=product name=products} jsem vložil následující podmínku {if $smarty.get.manufacturer && !$smarty.get.filtering} {foreach from=$smarty.get.manufacturer item=id_manufacturer} {if ($id_manufacturer == $product.id_manufacturer)} a celé tělo jsem zkopíroval a vložil do podmínky pro celý výpis bez zaškrtnutých výrobců {if $smarty.get.manufacturer|@count == '0'} nešlo mi to vložit do {if ($id_manufacturer == $product.id_manufacturer) || ($smarty.get.manufacturer|@count == 0) } už funguje i s řazením :-) Link to comment Share on other sites More sharing options...
Hatex Posted January 28, 2011 Share Posted January 28, 2011 Neřešil někdo u tohoto filtru taky to aby se upravily automaticky dole počty stránek ? Mě to totiž zobrazuje všechny stránky. Link to comment Share on other sites More sharing options...
Georgex1 Posted January 28, 2011 Author Share Posted January 28, 2011 Asi to řeknu takhle, ty upravy nahoře filtrují, ale pouze tu stránku, která je zobrazena, protože se filtrují products ... který obsahují pouze aktuální stránku, já jsem to vyřešil tak, že jsem si udělal jinou proměnou, která bude obsahovat všechny produkty v kategorii, a ty následně přefiltruji, a stránkování jsem při použití filtru odstranil, většinou se filtruje pár výrobců, tak i těch produktů lze přežít ... Link to comment Share on other sites More sharing options...
hnight24 Posted April 27, 2011 Share Posted April 27, 2011 Nemáte to iekto vyriešené na prestashop 1.4? Toto nefunguje.. Link to comment Share on other sites More sharing options...
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