Para crear un ticket de soporte, comience con una búsqueda

Importación productos: importar un campo en una tabla (insertar y actualizar)


Prerrequisitos

El campo debe estar ya presente en la base de datos

Objetivo

Queremos importar información adicional sobre un producto desde un archivo CSV a un campo de la tabla. Si la información ya existe en la tabla, se actualiza. Si no existe, se crea.

Configuración

Para añadir el campo a la lista de campos disponibles en la asignación de importación de productos, haga clic en el botón desde la interfaz "Añadir campo", e introduzca la siguiente información:

¿Cuál es el ID del campo? mi_campo (debe coincidir exactamente con el nombre del campo en la tabla)

SC crea el campo, ahora hay que rellenar la cuadrícula:

ID: mi_campo
Nombre: mi_campo

En el panel de propiedades avanzadas de la derecha :

- Seleccione el menú Proceso de importación para las combinaciones, y rellene:

if (in_array($switchObject, ['my_field'])) {
    $value = $GLOBALS['import_value'];
    $id_prd = (!empty($id_product) ? (int)$id_product : (int)$newprod->id);
    
    $sql = 'SELECT COUNT(*) 
            FROM ' . _DB_PREFIX_ . 'my_table
            WHERE id_product=' . $id_prd;
    if (Db::getInstance()->getValue($sql)) {
        Db::getInstance()->execute('UPDATE ' . _DB_PREFIX_ . 'my_table
                                        SET `' . $switchObject . "`='" . pSQL($value) . "'
                                        WHERE id_product=" . $id_prd);
    } else {
        Db::getInstance()->execute('INSERT INTO ' . _DB_PREFIX_ . 'my_table (id_product, `' . $switchObject . '`)
                                         VALUES (' . $id_prd . ',"' . pSQL($value) . '")');
    }
}

Este código debe adaptarse a sus necesidades.

Cierre la ventana de edición de campos personalizados y utilice el campo en su asignación de importación.




Artículos relacionados