importation fichier produits csv

23 messages dans ce sujet

Posté(e) · Signaler ce message

Bonsoir,

j'ai commencé à essayer d'importer mes produits par un fichier csv fait à partir d'excel.

En utilisant le module d'importation (peel 6.1) voici ce qu'il me dit à la fin de l'import :

Fichier mis sur le serveur : 130711_190228_PEEL_rPCbWNuJ.csv

Import de la ligne 1 - produit mis à jour ayant pour id=DE1

Import de la ligne 2 - produit mis à jour ayant pour id=DE2

Import de la ligne 3 - produit mis à jour ayant pour id=DE3

Import de la ligne 4 - produit mis à jour ayant pour id=DE4

Import de la ligne 5 - produit mis à jour ayant pour id=B1

Nombre de produits importés avec succès : 5 dont 5 mis à jour et 0 créés.

Mais aucun nouveau produit n'apparait... Je ne comprends pas pourquoi.

En pièce jointe une capture d'écran du fichier .csv utilisé. (car le forum refuse que j'envoi le fichier csv)post-6381-0-47958600-1310576990_thumb.jp

Merci d'avance,

Claire

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Ce que vous indiquez semble cohérent : l'import vous dit qu'il met à jour et ne crée aucun produit, puisqu'il a trouvé des identifiants correspondants à ce que vous indiquez.

Si vous voulez rajouter des produits en plus de ceux ayant ces identifiants, vous devez changer ces identifiants dans votre fichier Excel.

Un id est censé être unique.

Par ailleurs ça m'étonne que ça marche avec des id qui ne sont pas numériques, mettez des nombres ça serait mieux.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Le problème c'est que je n'ai toujours que 2 produits dans ma liste des produits de ma console d'administration..

D'où mon incompréhension...

je viens de réimporter mon nouveau fichier csv (le même que précédemment mais avec des id numériques - 1,2,3,4,5), voici la réponse du site :

Fichier mis sur le serveur : 130711_221527_PEEL_k5sseucR.csv

Import de la ligne 1 - produit mis à jour ayant pour id=1

Import de la ligne 2 - produit mis à jour ayant pour id=2

Import de la ligne 3 - produit mis à jour ayant pour id=3

Import de la ligne 4 - produit mis à jour ayant pour id=4

Import de la ligne 5 - produit mis à jour ayant pour id=5

Nombre de produits importés avec succès : 5 dont 5 mis à jour et 0 créés.

donc toujours pas de nouveaux objets crées ??

Merci de vos réponses tardives,

Claire

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Essayez maintenant avec 6 7 8 9 et 10... ? En effet, les autres ont été déjà créés avec 1 2 3 4 5 a priori :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Ce que je voulais dire c'est que je n'ai toujours que 2 objets dans ma liste de produits alors que j'en ai créé 5 !

Même en changeant les id (avec (5, 6, 7, 8 etc) il me dit toujours la même chose :

Fichier mis sur le serveur : 140711_103416_PEEL_ccKUqzRx.csv

Import de la ligne 1 - produit mis à jour ayant pour id=6

Import de la ligne 2 - produit mis à jour ayant pour id=7

Import de la ligne 3 - produit mis à jour ayant pour id=8

Import de la ligne 4 - produit mis à jour ayant pour id=9

Import de la ligne 5 - produit mis à jour ayant pour id=10

Nombre de produits importés avec succès : 5 dont 5 mis à jour et 0 créés.

Et toujours que 2 objets dans ma liste de produits...

Quelle solution avez vous ?

Merci

Claire

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Vous n'avez pas d'idée pour ce problème ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Si le script dit que c'est mis à jour, c'est probablement que c'est bien le cas.

Il doit y avoir une différence entre ce que vous voyez dans la boutique, et le nombre réel de produits en base de données.

Affichez dans l'administration tous les produits, et regardez aussi en base de données directement dans peel_produits pour voir ce qui est réellement là.

Gilles

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

j'ai déjà vérifié dans la base de donnée également, et il n'y a aucun produit.

MySQL n'a retourné aucune ligne. ( Traitement en 0.0004 sec. )

SELECT *

FROM `peel_produits`

LIMIT 0 , 30

De plus suite aux imports de fichier csv, peel met à jour 5 ou 6 produits alors que mon fichier csv contient 11 produits.

Cela prouve que ce n'est pas qu'un problème de produits que peel croit identifier comme présents dans la base (lignes de code résiduels) mais bien un problème d'exploitation du fichier csv... peut être mal rempli... mais je ne vois pas où...

Merci

Claire

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Vous me dites qu'il y a 0 produit alors qu'avant il y en avait 2... ?

Je vous propose de faire comme suit :

- créez un produit via l'administration

- vérifiez que votre site est OK comme vous voulez

- exportez ce produit

- supprimez le

- importez le

=> normalement ça marche (testé dans divers contextes)

=> il ne vous reste plus qu'à dupliquer cette ligne et modifier quelques aspects, et vérifier avec 2 produits. Et ensuite avec N.

NB : faites bien attention au format de fichier

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Entre temps j'ai commencé à créer des catégories et quelques produits.

Je viens tout de même de faire un export de mes produits et j'obtiens un fichier plus qu'étrange dont voici l'image :

post-6381-0-97527200-1310739587_thumb.jp

Et aussi le lien du fichier csv complet si vous voulez y jeter un coup d'oeil.

voici aussi la ligne 257 du fichier lib/fonction/format.php :

function fxsl($number_string)

{

$number_string = number_format($number_string, 2);

$number_string = str_replace(array(".", " "), array(",", ""), $number_string);

return $number_string;

Voilà,

je n'ai donc pas dépassé l'export de mes produits... car là je ne comprends pas le fichier exporter.

merci

Claire

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Il y a un problème avec une donnée.

Avant :

$number_string = number_format($number_string, 2);

mettez :

var_dump($number_string);

if(!is_numeric($number_string)){

echo '#not_numeric#';

}

C'est pour voir ce qui se passe, et faites un copier coller du fichier CSV généré.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonsoir,

voici le fichier csv fourni apres le changement de code que vous m'avez indiqué.

Merci

Claire

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Il s'agit donc d'un problème de conversion implicite qui n'est pas géré de la même manière dans votre version PHP que dans celles utilisées lors de tests passés.

Il faut en effet normalement que la devise ne soit pas mise dans la colonne d'export de prix.

=> Modifiez les lignes :

$output .= fxsl($product_object->get_original_price(true, false, true)) . "\t";

$output .= fxsl($product_object->get_original_price(false, false, true)) . "\t";

du fichier administrer/export_produits.php par :

$output .= fxsl($product_object->get_original_price(true, false, false)) . "\t";

$output .= fxsl($product_object->get_original_price(false, false, false)) . "\t";

Gilles

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

J'ai donc modifier le fichier administrer/export_produits.php comme vous l'avez indiquez.

Voici le fichier csv en réponse... je ne comprends pas encore pourquoi tout les titres de colonnes sont inscrits dans une même case d'excel.

Je suis aussi aller remettre le fichier lib/format.php comme initialement avant de refaire un export. Voici alors le fichier csv.

Merci de votre aide...

Ca avance,

Claire

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

J'ai donc modifier le fichier administrer/export_produits.php comme vous l'avez indiquez.

Voici le fichier csv en réponse... je ne comprends pas encore pourquoi tout les titres de colonnes sont inscrits dans une même case d'excel.

Je suis aussi aller remettre le fichier lib/format.php comme initialement avant de refaire un export. Voici alors le fichier csv.

Merci de votre aide...

Ca avance,

Claire

Le fichier de votre premier lien est bien, sauf qu'il faut maintenant retirer les var_dump que je vous avais demandé de mettre.

Et manifestement ce sera OK.

L'autre fichier que vous donnez (avec (2)) n'est pas correct, je ne sais pas ce que vous avez fait mais il y a des ; qui ne sont normalement pas là.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Le fichier (2) que je vous avais joint était justement avec le fichier lib/format.php sans la variable dump.

Je vois bien qu'effectivement il manque des ";", mais je suis bien avec le fichier original lib/format.php.

au niveau de la ligne 256, il n'ya plus que ça :

function fxsl($number_string)

{

$number_string = number_format($number_string, 2);

$number_string = str_replace(array(".", " "), array(",", ""), $number_string);

return $number_string;

}

Claire

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Claire,

Le séparateur est la tabulation, vous n'êtes pas censée avoir des ;;;;;

Le fichier de votre premier est bon si vous retirez les var_dump.

Vous aviez indiqué "Je suis aussi aller remettre le fichier lib/format.php comme initialement avant de refaire un export. Voici alors le fichier csv."

=> annulez ces changements, vu que ce fichier (2) ne va pas.

Gilles

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Deux choses :

- comment lire un fichier csv avec des tabulations pour séparateur (avec excel ? une option à choisir ?)

- vous me dites "Le fichier de votre premier est bon si vous retirez les var_dump." mais si je retire les var dump, je me retrouve avec le fichier lib/format.php initial. or vous me dites : "annulez ces changements (ceux de retirer les var dump), vu que ce fichier (2) ne va pas". Donc que dois-je faire ? les laisser ou les retirer (pour moi les retirer si j'ai bien compris) ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Revenez tout comme au début, et changez les 2 lignes avec true en false comme indiqué, et voilà.

Il me semble qu'une autre modification a été faite quelque part dans votre code qui pose problème.

Ces fichiers CSV avec séparateurs tabulation peuvent être ouverts avec divers tableurs, mais à la base le but est de permettre d'exporter vers une autre application serveur. Chaque version d'Excel a une interface différente pour l'import, donc je vous laisse voir dans votre cas.

NB : Par défaut l'encodage est en UTF8 (le format des export paramétrable dans l'administration).

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

En enregistrant mon fichier d'export en .txt avec des tabulations, l'import fonctionne sans aucun bug ou alerte, mais il ne me crée aucun nouveau produit, alors que j'en importe 10 et qu'il me dit bien que 10 ont été mis à jour :

Import de la ligne 1 - produit mis à jour ayant pour id=6

Import de la ligne 2 - produit mis à jour ayant pour id=7

Import de la ligne 3 - produit mis à jour ayant pour id=8

Import de la ligne 4 - produit mis à jour ayant pour id=9

Import de la ligne 5 - produit mis à jour ayant pour id=10

Import de la ligne 6 - produit mis à jour ayant pour id=11

Import de la ligne 7 - produit mis à jour ayant pour id=12

Import de la ligne 8 - produit mis à jour ayant pour id=13

Import de la ligne 9 - produit mis à jour ayant pour id=14

Import de la ligne 10 - produit mis à jour ayant pour id=15

Nombre de produits importés avec succès : 10 dont 10 mis à jour et 0 créés.

Voici en lien le fichier .txtque j'ai utilisé, en prenant comme base le fichier export du site.

Merci de votre aide, car on avance...

Je vais peut etre bientôt pouvoir ajouter plein de produits sur mon site !!

Claire

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Maintenant que vous avez ce fichier :

- si vous supprimez tous vos produits en base de données, et que vous importez ce fichier, ça va créer les produits

- si vous faites l'import alors que vos produits existent, c'est normal puisque ça met à jour, et que les informations sont les mêmes

- si vous retirez les valeurs des ids dans ce fichier en supprimant les valeurs sans autre modification, ça retirera l'association entre id et ligne importée, et donc ça va créer de nouvelles lignes. Ou idem si vous changez les id par d'autres qui n'existent pas encore

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

J'ai supprimé tous mes produits dans ma console administration de mon site peel.

J'ai bien une table peel_produits dans ma base de donnée qui semblait vide.

En faisant cela, lorsque j'essaye d'ajouter des produits avec le fichier txt que je vous ai présenté dans mon précédent message. Peel continue de me dire qu'il met à jour 10 produits, alors que je n'en vois aucun dans ma liste de produit...

En essayant de retirer, dans mon fichier texte (pour l'import des produits), la colonne correspondant aux valeurs des ids des produits. Cela a fonctionné.

Il y a encore une ou 2 bizarrerie.

Je regarde et je vous tiens au courant s'il y a lieu.

Merci pour tout.

Vous êtes vraiment très efficace !!

Vive Peel !

Claire

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Après vérification du code :

lorsqu'on précise des id produits dans l'import produit, alors ça cherche à mettre à jour les produits correspondants, mais ça ne les créait pas si ils n'existaient pas.

Dorénavant dans la version 6.2, lorsque le produit avec l'id donnée n'est pas trouvé, il sera créé.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping