Jump to content

Importar Combinaciones A Través De Php


Recommended Posts

Buenas tardes

 

Estoy intentando importar ficheros CSV a través de un script en PHP. Los productos y categorías me los importa sin problemas pero con las combinaciones sólo me las importa la primera vez.

Si intento hacer alguna modificación no tiene ningún efecto si lo importo a través de PHP. Si la importación de las combinaciones la hago a través del importador de los parametros avanzados del Prestashop me las actualiza correctamente (marcando siempre las opciones de "Eliminar todo combinaciones antes de importar" y "Usar la referencia de los productos como clave").

 

Os dejo el código con el que importo los atributos. 

define('_PS_ADMIN_DIR_', getcwd());
include(_PS_ADMIN_DIR_.'/../config/config.inc.php');
include(_PS_ADMIN_DIR_.'/functions.php');
include_once '../controllers/admin/AdminImportController.php';

function loadCombinationsPost() {
 $_POST = array (
  'tab' => 'AdminImport',
  'skip' => '1',
  'csv' => 'combinaciones.csv',
  'forceIDs' => '0',
  'convert' => '', 
  'entity' => '2', 
  'match_ref' => '1',
  'separator' => ';',
  'multiple_value_separator' => ',',
  'iso_lang' => 'es',
  'import' => 'Importar datos CSV',
  'truncate' => '1',
  'regenerate' => '1',  
  'type_value' =>
    array (
     0 => 'id_product',
     1 => 'product_reference',
     2 => 'group',
     3 => 'attribute',
     4 => 'supplier_reference',
     5 => 'reference',
     6 => 'ean13',
     7 => 'upc',
     8 => 'wholesale_price',
     9 => 'price',
    10 => 'ecotax',
    11 => 'quantity',
    12 => 'minimal_quantity',
    13 => 'weight',
    14 => 'default_on',
    15 => 'available_date',
    16 => 'image_position',
    17 => 'image_url',
    18 => 'delete_existing_images',
    19 => 'shop',
    20 => 'advanced_stock_management',
    21 => 'depends_on_stock',
    22 => 'warehouse'
  ),
 );
}
if(file_exists("./import/combinaciones.csv")){ 
      $import = New AdminImportController();
      loadCombinationsPost();
      $import->attributeImport();
      echo "importando combinaciones<br>";
}

¿Qué puedo estar haciendo mal?

 

Gracias de antemano!

Link to comment
Share on other sites

Desde luego el sistema es ingenioso.

 

 

no se si iria mejor que se usase el $import->postProcess() ya que es donde empieza a trabajar el importador.

Se entiende que con el entity ya llamará al importador que toca..

 

por otra parte en $import->errors[] e $import->warnings[] se te deberían quedar los errores y warnings. Si los muestras quizas te de alguna pista de problemas del proceso

Link to comment
Share on other sites

Buenas tardes

 

Necesito nuevamente vuestra ayuda.

 

Cuando utilizo el truncate me elimina todas las combinaciones de los artículos y mi intención era que sólo eliminara las combinaciones de los productos que estoy importando. ¿Hay alguna forma de hacer que se eliminen las combinaciones de los productos que estoy importando pero que no afecte a los demás?

 

O cómo actualizar el stock de un determinado artículo con combinaciones.

 

Muchas gracias

Edited by eurosystem (see edit history)
Link to comment
Share on other sites

Muchas gracias por la respuesta. Me modifica bien la cantidad de los atributos excepto cuando pongo la cantidad a 0. Al ponerla a 0 en el CSV me ignora la línea por completo aunque el resto, si tienen cantidades mayores de 0, me los modifica correctamente. ¿Alguna idea? Estoy desesperado con esto...

 

Muchas gracias de nuevo!

Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...