Jump to content

Problème d'import produit


Recommended Posts

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

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 by myselfidem (see edit history)
Link to comment
Share on other sites

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 by te-deum (see edit history)
Link to comment
Share on other sites

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 by myselfidem (see edit history)
Link to comment
Share on other sites

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 by te-deum (see edit history)
Link to comment
Share on other sites

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 by myselfidem (see edit history)
Link to comment
Share on other sites

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

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...