Nous souhaitons ajouter le champ "Action spécifique" qui est stocké dans la table ps_image.
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 Grid JS onEditCell et renseignez :
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) {
})
}
}
- sélectionner le menu PHP onAfterUpdateSQL et renseignez :
if ($col == 'specific_action') {
$sql = 'UPDATE ' . _DB_PREFIX_ . 'image SET `' .bqSQL($col). '` = ' . pSQL($val) . ' WHERE id_image=' . (int)$id_image;
Db::getInstance()->execute($sql);
}
Il faur rafraichir Store Commander afin que les modifications soient prises en compte
Enregistrez sur la barre d'outils
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.