ufiartist Posted August 12, 2014 Share Posted August 12, 2014 Mam pytanie.. Czy idzie "przerobić" moduł bestseller tak aby wyświetlał on produkty tylko z danej kategorii?? Link to comment Share on other sites More sharing options...
vekia Posted August 12, 2014 Share Posted August 12, 2014 "idzie" ale to nie będzie łatwe. trzeba zdecydować czy chcemy modyfikować kontroler, czy nie. jeżeli chcemy: będzie trzeba dodać klauzule sprawdzającą kategorie produktu w zapytaniu sql (where default_category = 5) jeżeli nie chcemy: będzie trzeba zmodyfikować plik .tpl modułu który sprawdzi czy pobrane z bazy produkty są przypisane do danej kategorii, i jeżeli są - to je wyświetlić. druga opcja niesie za sobą ryzyko, że w publi produktów nie będzie takich powiązanych z kategorią, i się nie wyświetlą pierwsza opcja to ingerencja w core, co nie jest zbyt dobrym rozwiązaniem Link to comment Share on other sites More sharing options...
ufiartist Posted August 13, 2014 Author Share Posted August 13, 2014 (edited) chyba nie dokładnie się wyraziłem Posiadam kategorię bestsellery i chciał bym żeby ten moduł pokazywał wszystkie produkty z danej kategorii. Może istnieje jakieś inne wyjście żeby można było zarządzać tym co wyświetla się w tym module? Krótko mówiąc chciałem na stronie głównej wyświetlić konkretne produkty z konkretnej kategorii. Myślałem do tego użyć modułu bestseller. Edited August 13, 2014 by ufiartist (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted August 13, 2014 Share Posted August 13, 2014 moduł wyświetla bestsellery w oparciu o dane ze sprzedaży, czyli są to realne bestsellery, czyli to co rzewczywiście sie sprzedaje. jeżeli chcesz robić ludzi w konia to będize trzeba trochę zmienić kod modułu. w pliku blockbestsellers.php jest kod: protected function getBestSellers($params) { if (Configuration::get('PS_CATALOG_MODE')) return false; if (!($result = ProductSale::getBestSalesLight((int)$params['cookie']->id_lang, 0, 8))) return (Configuration::get('PS_BLOCK_BESTSELLERS_DISPLAY') ? array() : false); $currency = new Currency($params['cookie']->id_currency); $usetax = (Product::getTaxCalculationMethod((int)$this->context->customer->id) != PS_TAX_EXC); foreach ($result as &$row) $row['price'] = Tools::displayPrice(Product::getPriceStatic((int)$row['id_product'], $usetax), $currency); return $result; } to co będize trzeba zrobć to zmienić tę funkcję aby zamiast pobierania informacji o realnych najlepiej sprzedajacych sie produktach pobierała produkty ze wskazanej kategorii tj. definiujemy kategorie z której chcemy pobierać produkty: (np. kategoria o id 15) $category = new Category(15, (int)Context::getContext()->language->id); oraz pobrać produkty$products=$category->getProducts((int)Context::getContext()->language->id, 1, 8, 'position'); i $products zwrócić jako "result" tej funkcji Link to comment Share on other sites More sharing options...
ufiartist Posted August 13, 2014 Author Share Posted August 13, 2014 dokładnie o to mi chodzi przetestuje dziś i dam znać czy działa:) Link to comment Share on other sites More sharing options...
sasase Posted August 10, 2015 Share Posted August 10, 2015 A czy można zmienić w tym kodzie zakres, aby pobierał bestsellery z ostatnich np. 30 dni? Pozdrawiam 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