Prestashop 1.5.6 Link :: getImageLink返回意外值

时间:2014-11-10 11:55:12

标签: prestashop-1.5

我正在打电话

  

$ 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。该代码是否应该返回产品的图像链接?

问候

3 个答案:

答案 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');