Jump to content

Edit History

jat

jat

Hola a tod@s

Estoy buscando e intentando adaptar un script para importar productos desde un csv automáticamente, en un Prestashop

He visto una para Prestashop 1.6: Script Importacion Automatica Prestashop 1.6

Me gustaría poder adaptarlo para Prestashop 1.7 y dejarlo aquí para compartirlo

He adaptado parte del código, pero en Prestashop 1.7 ha cambiado las funcionalidades:

<?php


// definimos la cabecera y el juego de caracteres
header("Content-Type: text/html;charset=utf-8");

// colocamos el directorio de adminxxxxx en la variable cogiendo el directorio donde está este script con getcwd
define('_PS_ADMIN_DIR_', getcwd());

// incluimos los parametros que se definieron en la instalación
include(_PS_ADMIN_DIR_.'../../config/config.inc.php');

// incluimos las funciones php de Prestashop que vamos a usar
// Que esta dentro de la carpeta del admin donde entrtamos al panel
include(_PS_ADMIN_DIR_.'/functions.php');

// incluimos el script php que hace las importaciones de CSV de Prestashop
include_once '../../controllers/admin/AdminImportController.php';

// Duda si la funcionalidad para importar productos en PS 1.7 esta en:
//include_once '../../controllers/admin/AdminProductsController.php';

// loadProductsPost() -> loadProduct() ?
function loadProduct() {
    $_POST = array (
        'tab' => 'AdminImport',
        'skip' => '1',
        'csv' => 'productos.csv',
        'forceIDs' => '0',
        'match_ref' => '1',
        'convert' => '',
        'entity' => '1',
        'separator' => ';',
        'multiple_value_separator' => ',',
        'iso_lang' => 'es',
        'import' => 'Importar datos CSV',
        'type_value' =>
            array (
               1  => "ID",
               2  => "Activo (0/1)",
               3  => "Nombre *",
               4  => "Categorías (x,y,z...)",
               5  => "Precio impuestos excluidos",
               6  => "ID regla de impuestos",
               7  => "Precio de coste",
               8  => "En oferta (0/1)",
               9  => "Valor del descuento",
               10  => "Porcentaje de descuento",
               11  => "Descuento desde (aaaa-mm-dd)",
               12  => "Descuento hasta (aaaa-mm-dd)",
               13  => "Referencia nº",
               14  => "N° de referencia proveedor",
               15  => "Proveedor",
               16  => "Marca",
               17  => "EAN13",
               18  => "UPC",
               19  => "Ecotasa",
               20  => "Anchura",
               21  => "Altura",
               22  => "Profundidad",
               23  => "Peso",
               24  => "Cantidad",
               25  => "Cantidad mínima",
               26  => "Visible en",
               27  => "Coste adicional del envío",
               28  => "Unidad para el precio unitario",
               29  => "Precio unitario",
               30  => "Resumen", // Short Description
               31  => "Descripción", // Long Description
               32  => "Etiquetas (x,y,z...)",
               33  => "Meta título",
               34  => "Meta keywords",
               35  => "Meta descripción",
               36  => "URL reescrita",
               37  => "Etiqueta cuando se encuentra en stock",
               38  => "Etiqueta para cuando se permiten pedidos en espera",
               39  => "Disponible para pedidos (0 = No, 1 = Yes)",
               40  => "Fecha de disponibilidad del producto",
               41  => "Fecha de creación del producto",
               42  => "Mostrar Precio (0 = No, 1 = Yes)",
               43  => "URL's de las imágenes (x,y,z...)", // Url de la imagen
               44  => "Textos alternativos de imagen (x,y,z...)",
               45  => "Elimine las imágenes existentes (0 = No, 1 = Yes)",
               46  => "Característica (Nombre:Valor:Posición:Personalizado)", // Feature( Name:Value:Position )
               47  => "Solo disponible por Internet (0 = No, 1 = Yes)",
               48  => "Estado",
               49  => "Personalizable (0 = No, 1 = Yes)",
               50  => "Se pueden subir archivos (0 = No, 1 = Yes)",
               51  => "Campos de texto (0 = No, 1 = Yes)",
               52  => "Fuera de stock",   // Out of stock
               53  => "ID / Nombre de la tienda",
               54  => "Administración Avanzada de Stock ",
               55  => "Dependiendo del stock",
               56  => "Almacén",
            ),
    );
}

$import = New AdminImportController();

loadProduct();

¿Alguno ha podido adaptar un script similar? o ¿sabéis que funciones tengo que usar para enviar el csv?

Muchas gracias!

jat

jat

Hola a tod@s

Estoy buscando e intentando adaptar un script para importar productos desde un csv automáticamente, en un Prestashop

He visto una para Prestashop 1.6: Script Importacion Automatica Prestashop 1.6

Me gustaría poder adaptarlo para Prestashop 1.7 y dejarlo aquí para compartirlo

He adaptado parte del código, pero en Prestashop 1.7 ha cambiado las funcionalidades:

<?php


// definimos la cabecera y el juego de caracteres
header("Content-Type: text/html;charset=utf-8");

// colocamos el directorio de adminxxxxx en la variable cogiendo el directorio donde está este script con getcwd
define('_PS_ADMIN_DIR_', getcwd());

// incluimos los parametros que se definieron en la instalación
include(_PS_ADMIN_DIR_.'../../config/config.inc.php');

// incluimos las funciones php de Prestashop que vamos a usar
// Que esta dentro de la carpeta del admin donde entrtamos al panel
include(_PS_ADMIN_DIR_.'/functions.php');

// incluimos el script php que hace las importaciones de CSV de Prestashop
include_once '../../controllers/admin/AdminImportController.php';

// Duda si la funcionalidad para importar productos en PS 1.7 esta en:
//include_once '../../controllers/admin/AdminProductsController.php';

// loadProductsPost() -> loadProduct() ?
function loadProduct() {
    $_POST = array (
        'tab' => 'AdminImport',
        'skip' => '1',
        'csv' => 'productos.csv',
        'forceIDs' => '0',
        'match_ref' => '1',
        'convert' => '',
        'entity' => '1',
        'separator' => ';',
        'multiple_value_separator' => ',',
        'iso_lang' => 'es',
        'import' => 'Importar datos CSV',
        'type_value' =>
            array (
               1  => "ID",
               2  => "Activo (0/1)",
               3  => "Nombre *",
               4  => "Categorías (x,y,z...)",
               5  => "Precio impuestos excluidos",
               6  => "ID regla de impuestos",
               7  => "Precio de coste",
               8  => "En oferta (0/1)",
               9  => "Valor del descuento",
               10  => "Porcentaje de descuento",
               11  => "Descuento desde (aaaa-mm-dd)",
               12  => "Descuento hasta (aaaa-mm-dd)",
               13  => "Referencia nº",
               14  => "N° de referencia proveedor",
               15  => "Proveedor",
               16  => "Marca",
               17  => "EAN13",
               18  => "UPC",
               19  => "Ecotasa",
               20  => "Anchura",
               21  => "Altura",
               22  => "Profundidad",
               23  => "Peso",
               24  => "Cantidad",
               25  => "Cantidad mínima",
               26  => "Visible en",
               27  => "Coste adicional del envío",
               28  => "Unidad para el precio unitario",
               29  => "Precio unitario",
               30  => "Resumen", // Short Description
               31  => "Descripción", // Long Description
               32  => "Etiquetas (x,y,z...)",
               33  => "Meta título",
               34  => "Meta keywords",
               35  => "Meta descripción",
               36  => "URL reescrita",
               37  => "Etiqueta cuando se encuentra en stock",
               38  => "Etiqueta para cuando se permiten pedidos en espera",
               39  => "Disponible para pedidos (0 = No, 1 = Yes)",
               40  => "Fecha de disponibilidad del producto",
               41  => "Fecha de creación del producto",
               42  => "Mostrar Precio (0 = No, 1 = Yes)",
               43  => "URL's de las imágenes (x,y,z...)", // Url de la imagen
               44  => "Textos alternativos de imagen (x,y,z...)",
               45  => "Elimine las imágenes existentes (0 = No, 1 = Yes)",
               46  => "Característica (Nombre:Valor:Posición:Personalizado)", // Feature( Name:Value:Position )
               47  => "Solo disponible por Internet (0 = No, 1 = Yes)",
               48  => "Estado",
               49  => "Personalizable (0 = No, 1 = Yes)",
               50  => "Se pueden subir archivos (0 = No, 1 = Yes)",
               51  => "Campos de texto (0 = No, 1 = Yes)",
               52  => "Fuera de stock",   // Out of stock
               53  => "ID / Nombre de la tienda",
               54  => "Administración Avanzada de Stock ",
               55  => "Dependiendo del stock",
               56  => "Almacén",
            ),
    );
}

$import = New AdminImportController();

loadProduct();

¿Alguno ha podido adaptar un script similar? o ¿sabéis que funciones tengo que usar para enviar el csv?

Muchas gracias!

×
×
  • Create New...