2012-09-19 2 views
6

Magento, le code suivant programme ajouter une image galerie d'image d'un produitAjout de small_image Magento et miniature Programmatically

//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);   

Ce, comme prévu, va ajouter une image à la galerie des médias d'un produit, et cette image sera être sélectionné comme "Image de base" du produit. Cependant, les images "small_image" et "thumbnail" ne seront pas sélectionnées pour cette image.

Si le code suivant est utilisé

$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 ajoutera trois nouvelles images à la galerie de médias. Une avec l'image de base sélectionnée, une avec la petite image sélectionnée et une troisième avec la vignette.

Est-il possible de signaler Magento que lorsque vous appelez

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

qu'il devrait générer automatiquement la petite image et l'image miniature?

Répondre

10

Essayez avec:

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

Etrange, j'ai exactement ce code, l'image est téléchargée, mais l'image de base etc ne sont pas sélectionnés ... Des idées? –

0

J'ai eu la même question que vous. La raison pour laquelle l'image est importée mais les attributs de média (Base, Miniature, Petit) n'apparaissent pas, c'est parce qu'elle est définie dans les sites Web enfants. Au lieu de cela, vous voulez le définir comme une valeur par défaut. En d'autres termes, l'ID de magasin = 0.

Espérons que cela vous aide. Sam

Questions connexes