2012-09-19 9 views
6

En Magento Magento, el código siguiente programación para agregar una imagen galería de imágenes de un productoAdición small_image y de miniaturas programación

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

Esto, como era de esperar, será añadir una imagen a la galería de los medios de comunicación de un producto, y esta imagen se ser seleccionado como "Imagen base" del producto. Sin embargo, las imágenes "small_image" y "thumbnail" no se seleccionarán para esta imagen.

Si el siguiente código se utiliza

$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 agregará tres nuevas imágenes a la galería de los medios de comunicación. Uno con Imagen base seleccionada, uno con Imagen pequeña seleccionada y un tercero con miniatura.

¿Es posible señal de Magento que cuando se llama a

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

que debe generar automáticamente la imagen de la miniatura pequeña imagen y?

Respuesta

10

Pruebe con:

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

Extraño, tengo exactamente este código, la imagen se ha subido, pero la Imagen base, etc. no está seleccionada ... ¿Alguna idea? –

0

que tenían el mismo problema que tú. El motivo por el que se importa la imagen pero no se muestran los Atributos de medios (Base, Miniatura, Pequeño) se debe a que se está configurando en los Sitios web secundarios. En su lugar, desea establecerlo como un valor predeterminado. En otras palabras, la tienda ID = 0.

Espero que ayude. Sam

Cuestiones relacionadas