我正在打电话
$ imagePath = Link :: getImageLink($ product-> link_rewrite,$ id_product, ' home_default&#39);
例如,当$ id_product为150时,它返回websitepath / img / p / 1/5 / 0/150-home_default.jpg。但是当我看到使用浏览器视图源选项为该产品ID创建的真实image_link时,它的网站路径/ img / p / 1/2 / 5/125-home_default.jpg。该代码是否应该返回产品的图像链接?
问候
答案 0 :(得分:4)
在Prestashop 1.6中,getImageLink不应该是静态调用
$image = Product::getCover((int)$data['id_product']);
$link = new Link;//because getImageLInk is not static function
$data['imagePath'] = $image ? 'http://'.$link->getImageLink($data['link_rewrite'], $image['id_image'], 'medium_default') : false;
答案 1 :(得分:2)
getImageLink
方法返回产品图片的链接,但该链接包含图片的ID(125)而不是产品的ID(150)。
方法调用的第二个参数应该是图像ID而不是产品ID。
首先,您应该获取图像ID,然后才能获得图像链接:
$image = Image::getCover($id_product);
$imagePath = Link::getImageLink($product->link_rewrite, $image['id_image'], 'home_default');
答案 2 :(得分:1)
getImageLInk
不是静态函数,所以实用的方法是
$image = Image::getCover($id_product);
$product = new Product($id_product, false, Context::getContext()->language->id);
$link = new Link();//because getImageLInk is not static function
$imagePath = $link->getImageLink($product->link_rewrite, $image['id_image'], 'home_default');