如何获得storeid的产品图片网址

时间:2014-04-27 13:30:25

标签: image magento

我创建了一个没有默认(管理员)图片的magento产品,但是 我已经为" italian"正确设置了图像缩略图,small_image和imageset。商店视图。

如果我在phtml文件中使用以下代码,我将获得正确的图片网址:

echo "url = " . Mage::helper('catalog/image')->init($product, 'thumbnail')->resize(95,95)

我得到: 媒体/目录/产品/高速缓存/ 6 /图像/ 80X / 9df78eab33525d08d6e5fb8d27136e95 / 1/9 / 1901186_10152274267007184_1589016979_n_7.jpg

在ajax回调函数的控制器中,我使用以下内容:

$product = Mage::getModel('catalog/product')->loadByAttribute('sku',$sku);
echo "url = " . Mage::helper('catalog/image')->init($product, 'thumbnail')->resize(95,95);

但是我得到了占位符图片 /media/catalog/product/cache/6/thumbnail/95x95/9df78eab33525d08d6e5fb8d27136e95/placeholder/websites/3/LOGO_1.png

我尝试在加载产品数据之前设置product storeId但没有结果:

    $product = Mage::getModel('catalog/product');
    $product = $product->setStoreId(6);
    $product = $product->loadByAttribute('sku',$sku);

    echo "vediamo " . Mage::helper('catalog/image')->init($product, 'thumbnail')->resize(95,95);;

感谢任何帮助,对不起我的英语。 朱塞佩

2 个答案:

答案 0 :(得分:0)

这对我有用

$cathlpimg = new Mage_Catalog_Helper_Image();
echo $cathlpimg->init($_item, 'image')->resize(200);   

答案 1 :(得分:0)

我很惊讶地看到它不起作用 - 对我来说关键是在调用load()之前指定商店ID,但我可以看到你已经尝试过了。

虽然严格来说,你没有使用load(),但是你使用了loadByAttribute()。也许它不能以完全相同的方式工作。你试过了吗?

$product = Mage::getModel('catalog/product');
$product = $product->setStoreId(6);
$product = $product->load($id);

如果你只知道sku而不是ID,请使用:

$id = Mage::getModel('catalog/product')->getIdBySku($sku);