Jump to content

Error al intentar añadir productos con imágenes


Baxte

Recommended Posts

Buenos días, estoy ahora mismo implementando un método en prestashop para importar los datos de una base de datos como productos, pero al intentarlo obtengo el siguiente error y no encuentro solución, actualmente hago uso de prestashop 1.7:

image.png.46383b615b2ad79a989abb6944ceaa35.png

while($obtener_filas=mysqli_fetch_array($result)){
    $id_product_bd= $obtener_filas['id'];
    $titulo= $obtener_filas['title'];
    $description =    $obtener_filas['description'];
    $url_img= $obtener_filas['url_img'];
}

mysqli_fetch_array($result);


$conn->close();
// we have a csv file open

// /////////////////////  ------IDIOMA------  \\\\\\\\\\\\\\\\\\\\
$default_lang = (int)Configuration::get('PS_LANG_DEFAULT');







$product = new Product(1);
$image = Image::getCover($url_img);
$product->name = [$default_lang => $titulo];
$product->link_rewrite = [$default_lang];
$link = new Link;//because getImageLInk is not static function
global $cookie;
$iso_code = $cookie->iso_code;
$image_small->{"image_link_small_{$iso_code}"} = $link->getImageLink($product->link_rewrite, $url_img, ImageType::getFormatedName("small"));
$image_large->{"image_link_large_{$iso_code}"} = $link->getImageLink($product->link_rewrite, $url_img, ImageType::getFormatedName("large"));


/*$imagePath = $link->getImageLink($url_img);*/
$product->price = 10.00;
$product->quantity = 1;
$product->id_category_default = 3;

//Añadir imagenes





// Actualizar producto
return $product;
$product->add();
$product->update();

Espero vuestra respuesta :).

Link to comment
Share on other sites

El error te lo está diciendo: El método getImageLink de la clase Link necesita que el primer parámetro sea un string y le estás pasando un array.

En el código que has puesto se llama a ese método aquí:

$image_small->{"image_link_small_{$iso_code}"} = $link->getImageLink($product->link_rewrite, $url_img, ImageType::getFormatedName("small"));
$image_large->{"image_link_large_{$iso_code}"} = $link->getImageLink($product->link_rewrite, $url_img, ImageType::getFormatedName("large"));

Así que $product->link_rewrite es un array. Revísalo, probablemente sea un campo multiidioma y tengas que enviar el índice del array correspondiente al idioma seleccionado, por ejemplo $product->link_rewrite[$default_lang]

Edited by Prestafan33 (see edit history)
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...