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

Grille Images : ajouter un champ de la table image (éditable)


Objectif

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

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 : 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.




Articles associés