Baxte Posted October 30, 2019 Share Posted October 30, 2019 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: 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 More sharing options...
Prestafan33 Posted October 30, 2019 Share Posted October 30, 2019 (edited) 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 October 30, 2019 by Prestafan33 (see edit history) 1 Link to comment Share on other sites More sharing options...
Luisejo Posted October 31, 2019 Share Posted October 31, 2019 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. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now