Precios especificos (ventana): añadir un campo de una tabla externa a las tablas de precios especificos

Acceda a la parte PRO de la herramienta para añadir campos personalizados:

Para acceder a la sección PRO, haga clic en el icono + de la columna de la derecha titulada «Campos disponibles».

Asegúrese de seleccionar correctamente la cuadrícula en la que desea añadir su campo; en este ejemplo, será la ventana Precios específicos:

Añadir el campo

Haga clic en el icono de añadir para crear la línea para el nuevo campo e introduzca su ID «mi_campo» en este ejemplo.

Tabla

Another table

Nombre

Mi_campo

Tipo

Multiples opciones

En este ejemplo, imaginamos que la tabla ps_mi_tabla contiene los campos :

table_id, product_id, mi_campo

En el panel de propiedades avanzadas de la derecha :

- seleccione el menú lista de opciones (sólo si el tipo de campo es "opción múltiple", de lo contrario déjelo en blanco) y rellene :

return array(0=>_l('Aucune'), 1=>_l('Valeur 1'), 2=>_l('Valeur 2'));

- seleccione el menú SQL Select y rellene:

return ' ,mt.mon_champ';

- seleccione el menú SQL Left Join y rellene:

return " LEFT JOIN "._DB_PREFIX_."ma_table  mt  ON (mt.id_product= p.id_product)";

- seleccione el menú PHP enAfterUpdateSQL y rellene:

if (isset($_POST["mon_champ"])) {
    $sql = "SELECT * FROM " . _DB_PREFIX_ . "ma_table WHERE id_product=" . (int)$id_product;
    $res = Db::getInstance()->ExecuteS($sql);
    $mon_champ = (int)Tools::getValue('mon_champ', 0);
    if (count($res)) {
        if ($mon_champ) {
            $sql = "UPDATE " . _DB_PREFIX_ . "ma_table  SET mon_champ=" . (int)$mon_champ . "  WHERE id_product=" . (int)$id_product;
            Db::getInstance()->Execute($sql);
        } else {
            $sql = "DELETE FROM " . _DB_PREFIX_ . "ma_table  WHERE id_product=" . (int)$id_product;
            Db::getInstance()->Execute($sql);
        }
    } else {
        $sql = "INSERT INTO " . _DB_PREFIX_ . "ma_table  (id_product,mon_champ) VALUES (" . (int)$id_product . "," . pSQL($mon_champ) . ")";
        Db::getInstance()->Execute($sql);
    }
}

Este código debe adaptarse a sus necesidades.

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.