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

Import 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 ($switchObject == 'my_field') {
    $id_prd = (!empty($id_product) ? (int)$id_product : (int)$newprod->id);
    $sql = "SELECT id_product
               FROM " . _DB_PREFIX_ . "my_table
               WHERE id_product = " . (int)$id_prd;
    $exist = Db::getInstance()->getRow($sql);
    if (!empty($exist)) {
       $TODO[] = "UPDATE " . _DB_PREFIX_ . "my_table
                   SET " . $switchObject . "='" . pSQL($GLOBALS["import_value"], true) . "'
                   WHERE id_product=" . (int)$id_prd;
    } else {
       $TODO[] = "INSERT INTO " . _DB_PREFIX_ . "my_table (id_product, " . $switchObject . ")
                   VALUES ('" . (int)$id_prd . "','" . pSQL($GLOBALS["import_value"], true) . "')";
    }
}

 

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.