Jump to content

Recommended Posts

Buenos días gente, venia aquí para ver si podéis ayudarme ya que después de estar buscando por el foro y por internet y hacerlo por mi mismo no he conseguido resolverlo.

Busco hacer un script de importación de productos desde CSV para prestashop 1.7 y estoy usando el básico de los ejemplos que hay por internet de colocar el CSV en la carpeta adminXXX/import y despues el script en la propia carpeta adminXXX.

Los productos los da de alta sin problema, pero busco que si el producto ya existe no lo vuelva a dar de alta o lo sobrescriba, es decir, yo doy de alta un producto y con el tiempo cambio el precio a mano desde la ficha de producto, lo que ocurre cuando se ejecuta el script es que lo sobrescribe y ya es un problema. Por otra parte, si el día de mañana el CSV cambia alguna descripción o algo sobre un producto que busque si existe y si es así que lo actualice no que lo vuelva a crear.

Como he dicho he buscado todo lo que he podido y no encuentro nada referente a esto... si alguien puede ayudarme me haría un gran favor.

Gracias y espero vuestra respuesta!

PD: Mi código del script es el siguiente... como he dicho es el del ejemplo que hay por internet, pero supongo que hará falta seleccionar el EAN o algo como clave primaria para que si existe no lo cree de nuevo y lo actualice o salte al siguiente si este no ha cambiado.

<?php  

define('_PS_ADMIN_DIR_', getcwd());
include(_PS_ADMIN_DIR_.'/../config/config.inc.php');

// incluimos las funciones php de Prestashop que vamos a usar
include(_PS_ADMIN_DIR_.'/functions.php');
// incluimos el script php que hace las importaciones de CSV de Prestashop
include_once '../controllers/admin/AdminImportController.php';

$import = New AdminImportController();  
loadProductsPost();
$import->productImport();

function loadProductsPost() {
  $_POST = array (
    'tab' => 'AdminImportController',
    'truncate'=>'0', //Eliminar los productos y luego importar
    'skip' => '1', //Filas a saltear en el .csv
    'csv' => 'pruebaPrestashop.csv', //Nombre del .csv
    'convert' => '',
    'entity' => '1',
    'separator' => ';', //Separador dentro del .csv
    'multiple_value_separator' => ',',
    'import' => 'Importar datos CSV',
    'iso_lang' => 'es', //ISO lenguaje
    'forceIDs' => '0', //Forzar ID
    'regenerate' => '1', //Regenerar miniatura
    'type_value' =>
    array (
      0 => 'id',
      1 => 'active',
      2 => 'name',
      3 => 'category',
      4 => 'price_tin', //Precio con iva incluido
      5 => 'description_short',
      6 => 'image', //Direccion de la imagen
    ),
  );
}

?>

 

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