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

Export Produits : exporter un champ provenant d'une table externe


Pré-requis

Le champ doit être déjà présent en base de données et dans un override de la classe Product

 

Objectif

Nous souhaitons exporter un champ d'une table ajoutée par un autre module.

 

Mise en place

Pour ajouter le champ à la liste des champs disponibles pour l'export produits, cliquez sur le bouton  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 classe Product)

 

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

ID : my_field
Nom : my_field

 

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

- sélectionnez le menu Processus d'export et renseignez :
  

if (in_array($switchObject, array('my_field'))) {
    $field = 0;
    $sql = "SELECT `".$switchObject."` 
            FROM " . _DB_PREFIX_ . "my_table 
            WHERE id_product=" . (int)$p->id;
    $res = Db::getInstance()->ExecuteS($sql);
    if (count($res)) {
        $field = (int)$res[0][$switchObject];
    }
}

 

Ce code est à adapter à vos besoins.

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