Jump to content
Baxte

Error al intentar añadir productos con imágenes

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 :).

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

Hola Baxte, aparte de lo que comentaPrestafan33, si quieres ahorrarte horas de programación, te recomiendo que utilices un módulo tipo Simple Import.

No reinventemos la rueda 😉

Saludos.

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More