我创建了一个没有默认(管理员)图片的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);;
感谢任何帮助,对不起我的英语。 朱塞佩
答案 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);