Nous souhaitons ajouter le champ "Action spécifique" qui est stocké dans la table ps_my_table.
Pour ajouter le champ à la liste des champs disponibles pour la grille Images, cliquez sur le bouton de l'interface "Ajout de champ", puis saisissez les informations suivantes :
Quel est l'ID du champ ? : action_specifique (doit correspondre exactement au nom du champ dans la base de données)
SC crée le champ, il faut maintenant renseigner dans la grille :
Nom du champ : Action spécifique
Table : Another table
Type : Modifiable
Dans le panneau des Propriétés Avancées à droite :
- sélectionner le menu SQL Select et renseignez :
return ' ,my_table.specific_action';
return " LEFT JOIN "._DB_PREFIX_."my_table ON (my_table.id_image= i.id_image)";
if (stage == 2) {
idx_specific_action = prop_tb._imagesGrid.getColIndexById('specific_action')
if (Boolean(idx_specific_action) && 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: rId
}, function (data) {
});
}
}
if ($col == 'specific_action')
{
$sql = 'SELECT * FROM '._DB_PREFIX_.'my_table WHERE id_image='.(int) $id_image;
if (Db::getInstance()->executeS($sql))
{
$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);
}
}
Fermez la fenêtre d'édition des champs personnalisés.
Le nouveau champ est présent dans la liste des champs disponibles, et vous pouvez l'ajouter à vos grilles.