Prestashop při zobrazení nejprodávanějšího zboží v pravém sloupci zobrazuje zboží v pořadí od nejprodávanějšího po méně prodávané. Avšak při zobrazení detailu nejprodávanějšího zboží na stránce nejprodavanejsi-produkty (best-sales) se zboží zobrazuje v opačném pořadí. Pro správné zobrazení je nutné provést jednoduchou úpravu.
Ukázka chybného řazení:
Soubor pro úpravu: controllers/BestSalesController.php
Původní kód:
public function process() { $this->productSort(); $nbProducts = (int)(ProductSale::getNbSales()); $this->pagination($nbProducts); self::$smarty->assign(array( 'products' => ProductSale::getBestSales((int)(self::$cookie->id_lang), (int)($this->p) - 1, (int)($this->n), $this->orderBy, $this->orderWay), 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'nbProducts' => $nbProducts, 'homeSize' => Image::getSize('home') )); }
Za $this->pagination($nbProducts); doplňte na další řádek kód: $this->orderWay = ‚DESC‘;
Upravený kód:
public function process() { $this->productSort(); $nbProducts = (int)(ProductSale::getNbSales()); $this->pagination($nbProducts); $this->orderWay = 'DESC'; // upraveno, modified self::$smarty->assign(array( 'products' => ProductSale::getBestSales((int)(self::$cookie->id_lang), (int)($this->p) - 1, (int)($this->n), $this->orderBy, $this->orderWay), 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'nbProducts' => $nbProducts, 'homeSize' => Image::getSize('home') )); }
Tímto docílíte, že se zboží bude řadit v opačném pořadí.