Novinky
Home / Programovani / Prestashop / Prestashop 1.6.1. nenačítá obrázky v košíku při zapnutých kombinacích

Prestashop 1.6.1. nenačítá obrázky v košíku při zapnutých kombinacích

Obrátil se na mne klient, že se mu „zničehonic“ přestaly zobrazovat obrázky produktů v košíku. Jednalo se o nový eshop postavený na Prestashopu 1.6.1. jen pár týdnů po jeho vydání. Jelikož 1.6.1. byla docela „nabitá“ úpravami, bylo jisté, že bude obsahovat i bugy. Nevím, zda to byl tento případ, možná tato chyba byla i ve starších verzích, nevím, nenarazil jsem na ni a hledat to nebudu. Nicméně ke konkrétnímu problému. Po dlouhém laborování jsem našel chybu ve třídě cart.php na řádku 544, definuje se tam sql query pro načtení detailů produktu pro případ, kdy jsou zapnuté kombinace. Tím jsme přišli na to, co bylo to „zničehonic“ :) Takže bug se ve verzi 1.6.1. projevuje jen při zapnutých kombinacích, query nemá odkud čerpat údaje o produktových obrzázcích, oprava je jednoduchá, stačí přidat příslušné joiny, kterými se k obrázků dostaneme.
Oprava je tedy následovná – po nadefinování $sql->select přidáme
$sql->leftJoin('image_shop', 'image_shop', 'image_shop.`id_product` = p.`id_product` AND image_shop.cover=1 AND image_shop.id_shop='.(int)$this->id_shop);
$sql->leftJoin('image_lang', 'il', 'il.`id_image` = image_shop.`id_image` AND il.`id_lang` = '.(int)$this->id_lang);

a máme hotovo :)

Scroll To Top