2012-09-19 5 views
6

In Magento di Magento, il seguente codice di programmazione aggiungere un'immagine galleria di immagini di un prodottoAggiunta small_image e miniature di programmazione

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

Questo, come previsto, sarà aggiungere un'immagine alla galleria multimediale di un prodotto, e questa immagine volontà essere selezionato come "Immagine base" del prodotto. Tuttavia, le immagini "small_image" e "thumbnail" non saranno selezionate per questa immagine.

Se il seguente codice viene utilizzato

$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 aggiungerà tre nuove immagini alla galleria multimediale. Una con Immagine base selezionata, una con Immagine piccola selezionata e una terza con miniatura.

E 'possibile segnalare Magento che quando si chiama

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

che dovrebbe generare automaticamente il l'immagine in miniatura piccola immagine e?

risposta

10

Prova con:

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

Strano, ho esattamente questo codice, l'immagine viene caricata, ma l'Immagine base ecc non è selezionata ... Qualche idea? –

0

Ho avuto lo stesso problema come te. Il motivo per cui l'immagine viene importata ma gli attributi del supporto (Base, Miniatura, Piccola) non vengono visualizzati, è perché viene impostata nei siti web secondari. Invece si desidera impostarlo come valore predefinito. In altre parole, l'ID negozio = 0.

Spero che questo aiuti. Sam

Problemi correlati