如何在产品列表中显示产品的封面图片和第二张图片

how to display in product-list the cover image and the second image of a product

我是 prestashop 1.6 的新手,喜欢在产品中为每个产品显示 2 张图片-list.tpl。我看到 getImageLink 显示封面图片。 是否有类似的函数,其参数对应于列位置? 谢谢你 问候

1/ 编辑classes/Product.php,增加读取第二张图片的功能:

public function getProductsSecondImg($product_id){
$sqlQ = 'SELECT id_image, id_product from `'._DB_PREFIX_.'image` WHERE id_product="'.$product_id.'" AND position=2';
$result = Db::getInstance()->ExecuteS($sqlQ);
return $result[0]['id_product'].'-'.$result[0]['id_image'];
}

添加第二张图片的定义:

$row['id_image2'] = Product::getProductsSecondImg((int)$row['id_product']);

之后

$row['id_image'] = Product::defineProductImage($row, $id_lang);

2/ 编辑themes/mytheme/product-list.tpl 和copy/paste 封面图片的html 标签img :

<img ... src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default') .../>

里面 :

<div class="color-list-container"> ... </div>

但这次使用 $product.id_image2 作为 getImageLink

的第二个参数

它适用于我的 1.6.1.3。第二张图片必须存在,否则将显示默认图片。借助这个blog site

与其在 Product.php 中编写函数,只需在 id_image

旁边添加 +1 即可获得第二张图片
src="{$link->getImageLink($product.link_rewrite, $product.id_image+1, 'home_default')|escape:'html':'UTF-8'}"