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

时间:2016-10-26 16:07:45

标签: prestashop prestashop-1.6

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

2 个答案:

答案 0 :(得分:0)

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并复制/粘贴封面图片的html标签img:

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

内部:

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

但是这次使用$ product.id_image2作为getImageLink的第二个arg

它适用于我的1.6.1.3。必须存在第二个图像或显示默认图像。在blog site的帮助下。

答案 1 :(得分:0)

不是在Product.php中编写函数,而是通过在id_image

旁边添加+1来获取第二个图像
src="{$link->getImageLink($product.link_rewrite, $product.id_image+1, 'home_default')|escape:'html':'UTF-8'}"