Queremos añadir el campo "Acción específica" que se almacena en la tabla ps_my_table.
Para añadir el campo a la lista de campos disponibles para la cuadrícula de imágenes, 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? action_specific (debe coincidir exactamente con el nombre del campo en la base de datos)
SC crea el campo, ahora debe rellenar la cuadrícula:
Nombre del campo: Acción específica
Tabla: Otra tabla
Tipo: Modificable
En el panel de propiedades avanzadas de la derecha :
- seleccione el menú SQL Select y rellene :
return ' ,my_table.specific_action';
return " LEFT JOIN "._DB_PREFIX_."my_table ON (my_table.id_image= i.id_image)";
idx_specific_action = prop_tb._imagesGrid.getColIndexById('specific_action');
if (stage == 2) {
if (cInd == idx_specific_action) {
$.post("index.php?ajax=1&act=cat_image_update&action=update&id_lang=" + SC_ID_LANG + "&" + new Date().getTime(), {
'id_product': lastProductSelID,
col: 'specific_action',
val: nValue.replace(/#/g, ''),
'list_id_image': prop_tb._imagesGrid.getSelectedRowId()
}, function (data) {
});
}
}
if ($col == 'specific_action') {
$sql = "SELECT * FROM " . _DB_PREFIX_ . "my_table WHERE id_image=" . (int)$id_image;
$res = Db::getInstance()->ExecuteS($sql);
if (count($res)) {
$sql = "UPDATE " . _DB_PREFIX_ . "my_table SET specific_action=" . pSQL($val) . " WHERE id_image=" . (int)$id_image;
Db::getInstance()->Execute($sql);
} else {
$sql = "INSERT INTO " . _DB_PREFIX_ . "my_table (id_image,specific_action) VALUES (" . (int)$id_image . "," . pSQL($val) . ")";
Db::getInstance()->Execute($sql);
}
}
Cierre la ventana de edición de campos personalizados.
El nuevo campo está ahora en la lista de campos disponibles, y puede añadirlo a sus rejillas.