Pour créer un ticket support, commencez par une recherche

Grille Images : Ajouter un champ de la table image_shop (éditable)


Objectif

Nous souhaitons ajouter le champ "Action spécifique" qui est stocké dans la table ps_image_shop.

 

Mise en place

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 : saisissez : special
Type : Modifiable


Dans le panneau des Propriétés Avancées à droite :


- sélectionnez le menu SQL Select et renseignez :
 
return ' , ims.specific_action';
 
- sélectionnez le menu Gris JS on EditCell et renseignez :
 
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) {
        });
    }
}
 
- sélectionnez le menu PHP onAfterUpdateSQL et renseignez :
 
if ($col == 'specific_action') {
    $sql = "UPDATE " . _DB_PREFIX_ . "image_shop SET specific_action = " . pSQL($val) . " WHERE id_image=" . intval($id_image) . " AND id_shop IN (" . SCI::getSelectedShopActionList(true) . ")";
    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.