Import clientes: importar un campo en una tabla (insertar y actualizar)

Requisitos previos

El campo debe estar ya presente en la base de datos

Objetivo

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.

Configuración

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.


Rejilla de clientes : Añadir campo ID de grupo

Objetivo

Queremos una columna que muestre todos los ID de los grupos de clientes en la interfaz de clientes.

 

Configuración

Para añadir el campo a la lista de campos disponibles para sus cuadrículas 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? group_id

 

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

Nombre del campo: ID de grupo
Tabla: Another table
Tipo: Sólo se muestra

 

En el panel de propiedades avanzadas de la derecha:

- seleccione el menú SQL Select e introduzca:

return ' , (SELECT GROUP_CONCAT(cst_cg.id_group)FROM `'._DB_PREFIX_.'customer_group` cst_cg WHERE cst_cg.id_customer = c.id_customer ) AS group_id ';

Cierre la ventana de edición de los campos personalizados.

El nuevo campo está ahora en la lista de campos disponibles y puede añadirlo a sus rejillas de Cliente.