Magentoコミュニティバージョン1.5.1.0を使用しています。
商品に画像があるかどうかを確認する必要があります。商品に画像がない場合は、magentoのデフォルト画像の代わりにカテゴリ画像を割り当てます。
その商品に画像があるかどうかを確認するにはどうすればよいですか?
次のコードを使用します
<?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);
?>
$product->getImage();
上記のコードを使用すると、製品が持っているか、キー「no_selection」を返す場合に画像が表示されます
if($product->getImage() == 'no_selection')
{
// PRODUCT HAVE NO IMAGE
}
else
{
// PRODUCT HAVE IMAGE
}
これにより、商品の画像がアップロードされたかどうかを確認できます。
これを試して
if ($_product->getImage() != 'no_selection' && $_product->getImage()){put your category image retrive code }
結果を呼び出すと$your_product = Mage::getModel('catalog/product')
、メディア配列の詳細を見つけることができます。したがって、その配列の数を確認すると、製品に関連付けられている画像の数がわかります。countがゼロの場合、画像は関連付けられていません。
それで:
if(count($your_product['media_gallery']['images']) > 0)
// PRODUCT HAVE IMAGE
else
// PRODUCT HAVE NO IMAGE