Productos: Añadir un campo de una tabla externa a las tablas de productos (editable)
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 rejilla de productos:

Añadir el campo
Haga clic en el icono «Añadir» para crear la línea del nuevo campo e indique su ID specific_action (debe coincidir exactamente con el nombre del campo en la base de datos).

La línea del campo se crea en la lista. Ahora hay que introducir la información:
En este ejemplo, imaginamos que la tabla ps_specific_action contiene los campos :
id_specific_action, id_product, specific_action
Taking this example of table ps_specific_action includes the following fields:
id_specific_action, id_product, specific_action
En el panel de propiedades avanzadas de la derecha:
- seleccione el menú lista de opciones y rellene:
return array(0=>_l('Aucune'), 1=>_l('Colis fragile, emballer avec carton A1'), 2=>_l('Colis long, emballer avec carton B3'));- seleccione el menú SQL Select y rellene:
return ' ,sact.specific_action';- seleccione el menú SQL Leftjoin y rellene:
return " LEFT JOIN "._DB_PREFIX_."specific_action sact ON (sact.id_product= p.id_product)";- seleccione el menú PHP enAfterUpdateSQL y rellene:
if (isset($_POST["specific_action"])) {
$sql = "SELECT * FROM " . _DB_PREFIX_ . "specific_action WHERE id_product=" . (int)$idproduct;
$res = Db::getInstance()->ExecuteS($sql);
$specific_action = (int)Tools::getValue('specific_action', 0);
if (count($res)) {
if ($specific_action) {
$sql = "UPDATE " . _DB_PREFIX_ . "specific_action SET specific_action=" . (int)$specific_action . " WHERE id_product=" . (int)$idproduct;
Db::getInstance()->Execute($sql);
} else {
$sql = "DELETE FROM " . _DB_PREFIX_ . "specific_action WHERE id_product=" . (int)$idproduct;
Db::getInstance()->Execute($sql);
}
} else {
$sql = "INSERT INTO " . _DB_PREFIX_ . "specific_action (id_product,specific_action) VALUES (" . (int)$idproduct . "," . (int)$specific_action . ")";
Db::getInstance()->Execute($sql);
}
}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 productos.