2012-09-19 7 views
6

Magentoのに追加、次のコードは、プログラムはMagentoののsmall_imageサムネイルプログラム

//set store to admin id so we can save a product 
Mage::app()->getStore()->setId(Mage_Core_Model_App::ADMIN_STORE_ID); 

//load a product with an id of 2514 
$product = Mage::getModel('catalog/product')->load('2514'); 

//add the image 
$product->addImageToMediaGallery('/tmp/test.png','image',false,false);   

これは、予想通り、製品のメディアギャラリーに画像が追加され、製品の画像ギャラリー画像が追加され、この画像は、意志製品の「基本イメージ」として選択することができます。ただし、この画像では「small_image」と「thumbnail」の画像は選択されません。次のコードが使用されている場合

$product->addImageToMediaGallery('/tmp/test.png','image',false,false);   
$product->addImageToMediaGallery('/tmp/test.png','small_image',false,false);   
$product->addImageToMediaGallery('/tmp/test.png','thumbnail',false,false);   

Magentoのは、メディア・ギャラリーに新しい画像が追加されます。 1つはベースイメージが選択され、1つはスモールイメージが選択され、もう1つはサムネイルが選択されます。

は、あなたはそれが自動的に小さな画像やサムネイル画像を生成する必要があることを

$product->addImageToMediaGallery('/tmp/test.png','image',false,false);   

を呼び出すときというMagentoのを合図することが可能ですか?

答えて

10

で試してみてください:

$product->addImageToMediaGallery('/tmp/test.png',array('image', 'small_image', 'thumbnail'),false,false); 
+1

奇妙なことに、私はこのコードを正確に持っていますが、イメージがアップロードされましたが、ベースイメージなどは選択されていません... –

0

私はあなたと同じ問題がありました。イメージがインポートされても、メディア属性(ベース、サムネイル、スモール)が表示されない理由は、子Webサイトに設定されているためです。代わりに、デフォルト値として設定する必要があります。言い換えれば、店舗ID = 0です。

希望に役立ちます。 サム