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

Grille déclinaisons : Ajouter un champ d'une table externe aux tables produits

Pré-requis

  • Version 2014-03-12 de Store Commander
  • Extension SC Éditeur de grilles Pro - Version 1.0
  • Le champ doit être déjà présent en base de données


Objectif

Nous souhaitons ajouter le champ "Label BIO" qui permettra de distinguer ce type de produit dans les grilles. Pour notre exemple, ce champ est situé dans la table ps_label ( id_product_attribute ; label_bio (0/1) ).

Nous pourrons ainsi :

  • utiliser les filtres dans les grilles pour affiner nos sélections de déclinaisons
  • éditer en masse ce champ par le système de copier coller de SC
  • exporter rapidement la grille des déclinaisons avec ce champ

 

Mise en place

  • Pour ajouter le champ à la liste des champs disponibles pour votre grille déclinaison, cliquez sur le bouton add.png de l'interface "Ajout de champ", puis saisissez les informations suivantes :


Quel est l'ID du champ ? : label_bio (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 : Label BIO

Table : special

Type : Choix multiple

 

  • Dans le panneau des propriétés avancées :


SQL Select :

return ' ,lab.label_bio ';

SQL Left join :

return ' LEFT JOIN '._DB_PREFIX_.'label lab ON (lab.id_product_attribute = pa.id_product_attribute) ';

 PHP definition :

 $combArray[$combinaison['id_product_attribute']]['label_bio'] = $combinaison['label_bio'];

 PHP onAfterUpdateSQL :

if (isset($_POST['label_bio'])){

$sql = "UPDATE "._DB_PREFIX_."label SET label_bio = ".(int)Tools::getValue('label_bio',0)." WHERE id_product_attribute=".(int)$id_product_attribute;

Db::getInstance()->Execute($sql);

}

 

  • Si vous souhaitez ajouter un choix Oui/Non, dans le panneau des propriétés avancées :

Liste de choix : 

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

 

  • Fermez la fenêtre d'édition des champs personnalisés puis ajoutez le champ à vos grilles :
    • Sélectionnez la grille des déclinaisons
    • Glissez/déposez le champ dans cette grille
    • Pour utiliser la liste de choix, choisissez le Type "Choix multiple (Type A)" pour votre champ.