Non, je pense que vous vous trompez, j'ai déjà essayé cette méthode, sans succès.
Je pense que Prestashop, comme je l'ai dis précédemment, n'implémente tout simplement pas le processus d'association fichiers/produits (dans le cas des fichiers joints). En effet, la fonction qui permet cette association n'est pas utilisée dans le code d'import (AdminImportController.php). J'ai donc codé moi-même cette fonctionnalité :
A rajouter dans classes/Attachment.php, n'importe où entre deux fonctions :
/** * Get attachment ID by name. * * @param string $name Attachment Name * * @return int Attachment ID */ public static function getAttachmentIDByName($name) { return (int) Db::getInstance()->getValue(' SELECT id_attachment FROM ' . _DB_PREFIX_ . 'attachment WHERE file_name = "' . $name . '"',false ); }
et dans controllers/AdminImportController.php, dans la fonction productImportOne, après la ligne 1679 :
"AdminImportController::arrayWalk($info, array('AdminImportController', 'fillInfo'), $product);"
//Product attachments if(!empty($info['file_url'])) { $attachments = explode(",",$info['file_url']); $attachments_ids=array(); foreach($attachments as $attachment) array_push($attachments_ids,Attachment::getAttachmentIDByName($attachment)); Attachment::attachToProduct($info['id'],$attachments_ids); }
(on peut mettre le code plus loin mais attention de ne pas le mettre après le product->add(), sinon c'est trop tard, le produit a été ajouté !)
Voilà, et avec ça, pour moi ça marche niquel ! A condition bien sûr d'avoir ajouté le fichier dans le backoffice dans la catégorie "Fichiers" au préalable !
Merci quand même de m'avoir répondu 😀
Prestashop'ment vôtre.