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

Importación productos: importar un campo de idioma a una tabla


Prerequisites

El campo debe estar ya presente en la base de datos

Target

Queremos importar un campo de idioma en una tabla, el idioma será seleccionado de antemano en el mapeo de importación.

 

Setup

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 add_dis.png 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' && $GLOBALS['import_value'] !== '') {
    $value = $GLOBALS['import_value'];
    $id_lang = (int)$getIDlangByISO[$mappingData['CSV2DBOptions'][$firstLineData[$key]]];
    if (!empty($id_lang)) {
        $id_prd = (!empty($id_product) ? (int)$id_product : (int)$newprod->id);
        $sql = "SELECT COUNT(*) FROM " . _DB_PREFIX_ . "mytable_lang
                WHERE id_product=" . (int)$id_prd . "
                AND id_lang = " . (int)$id_lang;
        $count_row = (int)Db::getInstance()->getValue($sql);
        if ($count_row > 0) {
            $TODO[] = "UPDATE " . _DB_PREFIX_ . "mytable_lang
                        SET `" . $switchObject . "`='" . psql($value) . "'
                        WHERE id_product=" . (int)$id_prd . "
                        AND id_lang = " . (int)$id_lang;
        } else {
            $TODO[] = "INSERT INTO " . _DB_PREFIX_ . "mytable_lang (id_product, id_lang, `" . $switchObject . "`)
                        VALUES (" . (int)$id_prd . "," . (int)$id_lang . ",'" . psql($value) . "')";
        }
    }
} 

 

ATENCIÓN: para las tablas product_lang y product_attribute_lang, no añada este bloque de código a los datos anteriores:

else {
    $TODO[] = "INSERT INTO " . _DB_PREFIX_ . "mytable_lang (id_product, id_lang, " . $switchObject . ")
                VALUES (" . (int)$id_prd . "," . (int)$id_lang . ",'" . psql($value) . "')";
}

 

-seleccionar Idioma seleccionable, y añadir el nombre del campo (separado por una coma si se van a introducir varios campos).

Ejemplo: último_campo,mi_campo

 

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