El campo debe estar ya presente en la base de datos
Queremos importar información adicional sobre un cliente 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.
Para añadir el campo a la lista de campos disponibles en la asignación de importación de clientes, 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?: my_field (debe coincidir exactamente con el nombre del campo en la tabla)
SC crea el campo, ahora debe rellenar la cuadrícula:
ID: my_field
Nombre: my_field
- seleccione el menú Proceso de importación, y rellene :
if ($switchObject == 'my_field' && !empty($newcustomer->id)) {
$sql = "SELECT *
FROM " . _DB_PREFIX_ . "my_table
WHERE id_customer=" . (int)$newcustomer->id;
$exist = Db::getInstance()->executeS($sql);
if (!empty($exist[0]["id_customer"])) {
$TODO[] = "UPDATE " . _DB_PREFIX_ . "my_table
SET " . $switchObject . "='" . pSQL($GLOBALS["import_value"], true) . "'
WHERE id_customer=" . (int)$newcustomer->id;
} else {
$TODO[] = "INSERT INTO " . _DB_PREFIX_ . "my_table(id_customer, " . $switchObject . ")
VALUES ('" . (int)$newcustomer->id . "','" . 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.