te-deum Posted August 29, 2016 Share Posted August 29, 2016 Bonjour, J'utilise la version 1.6.1.6 de Prestashop et j'essaye désespérément de faire un import produit pour mettre à jour mon catalogue. Voici un exemple de fichier : ID;Nom;Categorie;Prix HA;Prix TTC;Largeur;Hauteur;Profondeur;Poids 57;Test;2,14;1;2;0.15;0.3;0.2;0.150 Le produit avec l'ID 57 existe dans ma base. Je veux changer son nom, ses prix, tailles et poids. L'import se lance et ne provoque pas d'erreur mais rien n'est modifié dans ce produit. Mes paramètres d'importation : Langue Francais Encodage ISO-8859-1 (testé à Oui et Non) Séparateur ; Séparateur valeur , Supprimer avant import : Non Utiliser Référence : Non Ignorer génération miniature : NOn Forcer Identifiant : Testé à Oui/Non J'ai bien affecté les colonnes du CSV à l'étape 2 (je l'ai fait/refait/vérifié plusieurs fois). J'ignore la première ligne (entête du fichier). Les IDs des catégories existent bien dans la base. Malgré tous mes tests et mes efforts, ça ne passe pas.Les prix restent à 0, les catégories restent inchangées et les tailles/poids restent aussi à 0. Auriez-vous des informations ou des conseils à me données ? Merci à vous pour votre aide. Link to comment Share on other sites More sharing options...
myselfidem Posted August 29, 2016 Share Posted August 29, 2016 (edited) Bonjour, Voici un test avec votre fichier CSV : Enregistrez votre fichier au format UTF-8 Ligne d'en-tête : ID;"Actif (0/1)";Nom;"Catégories (x,y,z...)";"Prix HT";"Prix TTC";Largeur;Hauteur;Profondeur;Poids Depuis le Back-Office: 1 - Sélectionnez : Type d'entité à importer : Produits 2 - Cliquer sur : Mettre en ligne un fichier et sélectionnez votre fichier csv 3 - Langue du fichier : Français 4 - Laisser toutes les options sur : NON (sauf le suivant 5) 5 - Forcer les identifiants : OUI 6 - Vérifier les colonnes 7 - Exécuter Fonctionne très bien pour moi ! PS: Si vous n'avez pas besoin de modifier la Catégorie ; supprimer simplement "Catégories (x,y,z...)" de l'en-tête Celle-ci devrait être en lettre (exemple : "Editions L'Eau Vive,Vie chrétienne,Sciences humaines,Edification") Amicalement Edited August 29, 2016 by myselfidem (see edit history) Link to comment Share on other sites More sharing options...
te-deum Posted August 29, 2016 Author Share Posted August 29, 2016 (edited) Bonjour et merci de prendre du temps pour mon problème. J'ai modifié l'encodage du fichier, l'entête des colonnes et j'ai ajouté la colonne Actif. Problème identique... Fiche produit (id = 57) inchangé !? Je ne comprends pas ce qui se passe :-( Merci. PS : Je viens de vérifier... pas d'override sauf sur la classe Cart.php Edited August 29, 2016 by te-deum (see edit history) Link to comment Share on other sites More sharing options...
myselfidem Posted August 29, 2016 Share Posted August 29, 2016 (edited) S'il s'agit de caractéristiques concernant : Largeur;Hauteur;Profondeur;Poids Utiliser l'en-tête suivante : ID;"Actif (0/1)";Nom;"Prix HT";"Prix TTC";"Caractéristique(Nom:Valeur:Position:Personnalisé)" Il faut récupérer les ID des caractéristiques des produits dans votre Back-Office ; exemple: ID;"Actif (0/1)";Nom;"Prix HT";"Prix TTC";"Caractéristique(Nom:Valeur:Position:Personnalisé)" 1;1;"Le Réveil du Lion";29;29;"Largeur:15:5:1,Hauteur:21:6:1,Profondeur:2.2:7:1,Poids:0.600:8:1" Edited August 29, 2016 by myselfidem (see edit history) Link to comment Share on other sites More sharing options...
te-deum Posted August 29, 2016 Author Share Posted August 29, 2016 Re, Ce ne sont justement pas des caractéristiques mais seulement les informations produits standard de Prestashop. Ces information sont contenus dans l'onglet Prix et Livraison de la fiche produit : Link to comment Share on other sites More sharing options...
te-deum Posted August 29, 2016 Author Share Posted August 29, 2016 (edited) Re... J'ai mis quelques retour dans le processus d'import. Cela bloque au niveau de la fonction arrayWalk de la classe AdminImportController. Paramètres envoyé à la fonction arrayWalk : Array( [id] => 57 [active] => 1 [name] => Test [category] => 2,14 [wholesale_price] => 1 [price_tin] => 2 [width] => 0.15 [height] => 0.3 [depth] => 0.2 [weight] => 0.150), Array ( 0 => 'AdminImportController' 1 => 'fillInfo' ), Object Product Le truc c'est que la fonction fillInfo ne semble pas appelée par arrayWalk !? Donc les valeurs de l'instance Product ne sont pas modifiées et elles ne sont donc pas enregistrées. Si vous avez des idées... je suis preneur. Edited August 29, 2016 by te-deum (see edit history) Link to comment Share on other sites More sharing options...
myselfidem Posted August 29, 2016 Share Posted August 29, 2016 (edited) Je vous déconseille de toucher au fichier AdminImportController.php dans ce cas ! J'ai testé un fichier csv et cela fonctionne très bien. Voici le modèle (j'ai employé les valeurs de base que vous avez suggérées et modifier comme suit) : ID;"Actif (0/1)";Nom;"Prix HT";"Prix TTC";Largeur;Hauteur;Profondeur;Poids 1;1;"Le Réveil du Lion";29;29;10.000000;5.000000;15.000000;0.160000 Les valeurs ont été modifiées avec succès ! Bon courage ! Amicalement Edited August 29, 2016 by myselfidem (see edit history) Link to comment Share on other sites More sharing options...
te-deum Posted August 29, 2016 Author Share Posted August 29, 2016 Re, Bon, il doit y avoir un soucis avec mon serveur... car ca ne marche pas. Même avec votre fichier ! Pour la classe AdminImportController, je fais juste des echo pour avoir des traces de ce qui s’exécute pour essayer de trouver l'origine du problème. Je continue à faire des tests... Merci, Link to comment Share on other sites More sharing options...
fourquet Posted August 29, 2016 Share Posted August 29, 2016 Surmeent l'id de la taxe TVA à mettre dans le CSV Link to comment Share on other sites More sharing options...
te-deum Posted August 29, 2016 Author Share Posted August 29, 2016 Bonsoir, J'ai résolu mon problème. Cela provenait de la version de PHP. Je suis passé de PHP 7.0.9 à PHP 5.6.24 et hop ça fonctionne ! Il semblerait qu'il y ait une incompatibilité entre PHP 7 et l'import de Prestashop... à confirmer. Merci à vous d'avoir pris du temps pour essayer de résoudre ce soucis. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now