Script para añadir imágenes desde php a un producto en prestashop, para cargas masivas de productos, etc. Una manera fácil y rápida de cargarlas en una función
Ejemplo de como cargar imágenes a un producto de prestashop:
Las variables $pid: se refiere al id del producto en la tabla de la base de datos, y $imagenes: la url de la imagen a cargar. Para insertar varias imágenes solo hace falta llamar a esta función las veces que se quiera con las imágenes que se quieren añadir.
Detecta si es la primera imagen es la primera que tiene el producto y la asigna como principal ( $image->cover = true )
<?php
include_once 'config/config.inc.php';
include(dirname(__FILE__).'/init.php');
/*
*
* pid = id del producto.
* $imagenes = url de la imagen.
*
*/
function IMAGENES($pid,$imagenes){
$product = new Product($pid);
$image = new Image();
$image->id_product = intval($product->id);
$image->position = Image::getHighestPosition($product->id) + 1;
if(Image::getImagesTotal($product->id)>0)
$image->cover = false;
else
$image->cover = true;
$languages = Language::getLanguages();
foreach ($languages as $language)
$image->legend[$language['id_lang']] = 'Click to view';
$id_image = $image->id;
$image->add();
$tmpName = tempnam(_PS_IMG_DIR_, 'PS');
copy($imagenes,$tmpName);
$new_path = $image->getPathForCreation();
ImageManager::resize($tmpName, $new_path.'.'.$image->image_format);
$imagesTypes = ImageType::getImagesTypes('products');
foreach ($imagesTypes as $imageType)
ImageManager::resize($tmpName, $new_path.'-'.stripslashes($imageType['name']).'.'.$image->image_format, $imageType['width'], $imageType['height'], $image->image_format);
}