我正在使用Magento社区版本1.5.1.0。
我需要让产品有图像与否。如果产品没有图像我们想要分配其类别图像而不是magento默认图像。
如何才能找到该产品的图像?
答案 0 :(得分:10)
使用以下代码
<?php
ini_set('display_errors','on');
require_once 'app/Mage.php';
Mage::app('default');
$products = Mage::getModel('catalog/product')->load(1); //Product ID
echo "<pre>";
//print_r($products);
echo $products->getImage();
echo "<br>";
echo $products->getSmallImage();
echo "<br>";
echo $products->getThumbnail();
echo "<br>";
echo Mage::helper('catalog/image')->init($products, 'small_image')->resize(163,100); // resize function is used to resize image
echo "<br>";
echo Mage::helper('catalog/image')->init($products, 'image')->resize(400,400);
?>
答案 1 :(得分:9)
$product->getImage();
使用上面的代码,如果产品有或者它返回键“ no_selection ”,它会给出图像
if($product->getImage() == 'no_selection')
{
// PRODUCT HAVE NO IMAGE
}
else
{
// PRODUCT HAVE IMAGE
}
通过这种方式,我们可以发现图片是否已上传产品。
答案 2 :(得分:1)
试试这个
if ($_product->getImage() != 'no_selection' && $_product->getImage()){put your category image retrive code }
答案 3 :(得分:1)
在结果中调用$your_product = Mage::getModel('catalog/product')
时,您可以找到媒体数组详细信息。因此,如果您检查该数组的计数,您就知道与产品关联的图像数量;如果count为零,则不会关联任何图像。
所以:
if(count($your_product['media_gallery']['images']) > 0)
// PRODUCT HAVE IMAGE
else
// PRODUCT HAVE NO IMAGE