Product import script for Prestashop 1.7

0

I am looking for and trying to adapt a script to import products from a csv automatically, in a Prestashop

I've seen one for Prestashop 1.6: Script Automatic Import Prestashop 1.6

I would like to be able to adapt it for Prestashop 1.7 and leave it here to share it

I have adapted part of the code, but in Prestashop 1.7 it has changed the functionalities:

    <?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();

Has anyone been able to adapt a similar script? or do you know what functions I have to use to send the csv?

Thank you very much!

    
asked by Jatniel Guzmán 30.08.2018 в 10:52
source

0 answers