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

Import Produits : importer un champ dans une table (insert et update)

Pré-requis

  • Version 2015-07-01 de Store Commander
  • Extension SC Éditeur de grilles Pro - Version 1.2
  • Le champ doit être déjà présent en base de données

 

Objectif

Nous souhaitons importer des informations complémentaires à un produit depuis un fichier CSV vers le champ d'une table. Si l'information existe déjà dans la table, elle est mise à jour. Si elle n'existe pas, elle est créée.

 

Mise en place

  • Pour ajouter le champ à la liste des champs disponibles dans le mapping d'import produits, cliquez sur le bouton add.png de l'interface "Ajout de champ", puis saisissez les informations suivantes :

 

Quel est l'ID du champ ? : my_field (doit correspondre exactement au nom du champ dans la table)

 

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

ID : my_field

Nom : my_field

 

  • Dans la partie droite de la fenêtre, sélectionnez Propriétés avancées  > Processus d'import, et renseignez :

  

if ($switchObject=='my_field')
{
$sql = "SELECT * FROM "._DB_PREFIX_."my_table WHERE id_product=".intval($id_product);
$exist = Db::getInstance()->ExecuteS($sql);
if(!empty($exist[0]["id_product"]))
$TODO[]="UPDATE "._DB_PREFIX_."my_table SET my_field='".pSQL($GLOBALS["import_value"],true)."' WHERE id_product=".intval($id_product);
else
$TODO[]="INSERT INTO "._DB_PREFIX_."my_table(id_product, my_field)
VALUES ('".intval($id_product)."','".pSQL($GLOBALS["import_value"],true)."')";
}

 

 Ce code est à adapter à vos besoins.

 

  • Fermez la fenêtre d'édition des champs personnalisés et utilisez le champ dans votre mapping d'import.