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

Prix Spéciaux (Propriété) : ajouter le champ 'En soldes'


Objectif

Nous souhaitons ajouter le champ "En Soldes" à la grille des propriétés Produits > Prix spéciaux.

Mise en place

Pour ajouter le champ à la liste des champs disponibles pour vos grilles produit, cliquez sur le bouton de l'interface "Ajout de champ", puis saisissez les informations suivantes :


Quel est l'ID du champ ? : on_sale

SC crée le champ, il faut maintenant renseigner dans la grille :


Nom du champ : En Solde
Table : Another table
Type : Choix multiple (doit correspondre à votre type de champ, ici un champ avec des valeurs prédéfinies)

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

- sélectionner le menu Liste de choix (uniquement si le type de champ est « Choix multiple », sinon ne rien mettre) et renseignez :

return array(1=>_l('Yes') , 0=>_l('No'));


- sélectionner le menu SQL Select et renseignez :

return ' ,prs.on_sale as on_sale';


- sélectionner le menu SQL Left Join et renseignez :

return " LEFT JOIN "._DB_PREFIX_."product_shop prs ON (sp.id_product= prs.id_product AND prs.id_shop=".(int) SCI::getSelectedShop().")";


- sélectionner le menu PHP onAfterUpdateSQL et renseignez :

if (isset($_POST['on_sale']))
{
    $sql = 'UPDATE '._DB_PREFIX_.'product
            SET on_sale='.(int) Tools::getValue('on_sale').'
            WHERE id_product=' .(int) $specificPrice->id_product;
    Db::getInstance()->Execute($sql);

    $sql = 'UPDATE '._DB_PREFIX_.'product_shop
            SET on_sale='.(int) Tools::getValue('on_sale').'
            WHERE id_product=' .(int) $specificPrice->id_product . ' 
            AND id_shop='.(int) SCI::getSelectedShop();
    Db::getInstance()->Execute($sql);
}

Fermez la fenêtre d'édition des champs personnalisés après avoir enregistré.

Le nouveau champ est présent dans la liste des champs disponibles, et vous pouvez l'ajouter à vos grilles.




Articles associés