检查集合是否加载了图像属性:
$productId = 1234;
$product = Mage::getModel('catalog/product')
->load($productId);
echo (string)Mage::helper('catalog/image')->init($product, 'image')->resize(75, 75);
echo (string)Mage::helper('catalog/image')->init($product, 'small_image')->resize(75, 75);
echo (string)Mage::helper('catalog/image')->init($product, 'thumbnail')->resize(75, 75);
如果这仅给您某种占位符,则该集合不会加载图像。
您可以像这样扩展您的收藏
$collection = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('small_image') //or
->addAttributeToSelect('thumbnail') //or
->addAttributeToSelect('image');
或使用媒体配置代替:
$prodImage = Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getThumbnail());
或使用
$prodImage = Mage::getResourceSingleton('catalog/product')->getAttributeRawValue($productId, 'image', Mage::app()->getStore());
平桌
这可能是由平板电脑引起的。检查您是否启用了平面表:
系统 > 配置 > 目录 > 目录 > 前端 > 使用平面目录产品
如果是,请检查平面表是否包含图像属性:
describe catalog_product_flat_1; // number varies depending on store
如果图像属性不是平面表的一部分,只需将以下代码添加到 app/etc/config.xml 即可将其添加到表中
<config>
<frontend>
<product>
<collection>
<attributes>
<image />
</attributes>
</collection>
</product>
</frontend>
</config>