Jump to content

Import CSV des catégories, des produits, et autres....


Recommended Posts

Bonjour à Tous,

bon j'ai installé la version 1.1 (qui à l'air super) sauf les imports CSV.

J'ai tout essayé et je suis vraiment à bout !

Est-ce que quelqu'un peut me donner un exemple de CSV pour les produits et les catégories.

Pour ma part, voici le problème :

Mes fichiers categorie.csv et produits.csv sont FTPisés sur le le serveur.
Dans le back-office, pas de soucis, je les vois bien et quand je passe à l'étape deux en mettant le séparateur de champs et de colonnes, j'aperçois bien les données de façon correct, et je met les bons entêtes de colonne . Mais dès que je fais importer les données, un page blanche avec firefox qui m'indique que c'est "terminé" mais en fait il ne s'est rien passé et je n'ai aucun message d'erreur.

Où qu'il est le problème...

Arghhh au secours :cheese:

Merci

Link to comment
Share on other sites

Salut
Cet import aura fait coulé beaucoup d'encre :-P
Il faut savoir 2 choses importantes
1- La colonne "nom" est obligatoire
2- Ne pas oublié si tu as en 1er ligne le nom des champs de sauter la 1er ligne c'est prévu dans l'admin import

Maintenant 1 conseil tu commence avec un .csv 2 colonnes ex nom + désignation si c'est bon tu ajoutes des colonnes ....

Pense à faire un backup de ta base sql et du dossier img/p aisi tu sais revenir en arrière :)
Amicalement

Link to comment
Share on other sites

Merci pour ces conseils,

Mais tu imagine bien que j'ai commencé comme cela et rien ne marche. J'ai une page blanche sans aucun message d'erreur... Aurais-tu sur toi un exemple ( fichier CSV ) et les paramètres...

Je crois que la partie php sur mon serveur est peut-être en vrac... Je vais voir cela.

Hugokc

Link to comment
Share on other sites

Bonjour à tous,

Je suis en cours d'évaluation de la dernière version de Prestashop 1.1.0.5. J'ai rencontré strictement le même problème que hugkc : page blanche à l'import. Comme je dispose de Zend Debugger, j'ai pu voir exactement où ça coince. Il semble que la fonction array_walk fait crasher le php. Il est donc normal qu'il n'y ait aucun message d'erreur même quand on les a activées. Cette fonction array_walk est boguée dans certaines versions php et certaines distributions Linux. Sur Google, on trouve des rapports de bogues sur la fonction array_walk quand elle est appelée récursivement. Quant à moi, j'utilise une Debian Etch 4.0 qui installe un php 5.2.0-8+etch13.

2 solutions :
1 - Passer php à une version ultérieure. J'ai testé sur un mac avec une version 5.2.1 de php. Les imports se font sans difficulté. Seulement, on peut ne pas trop vouloir trifouiller dans sa distribution de production.
2 - Ecrire une petite moulinette php faisant la même chose que la fonction array_walk. Avis aux amateurs. Il faudrait ensuite, remplacer array_walk par un appel de la fonction maison dans tous les imports (produits, catégories...)

Je cherche de mon côté.

Link to comment
Share on other sites

Merci pour ta réponse...
Pour ma part j'ai redévelopper un import spécifique pour mes produits ... N'ayant qu'un seul fournisseur, je me connecte à son site et lui "pompe" ces fiches produits, ma source étant un fichier csv avec les références du produit.

Donc je ne me suis pas investi dans une recherche trop longue...

Mais redévelopper un walk_array pourquoi pas... dès que j'ai du temps !!!

Mercu en tout cas ! Tu mérite une deuxième etoile ;-)

Link to comment
Share on other sites

il me sert juste à récupérer la référence, ensuite j'ouvre un lien du type http;//www.site.com/prod/refXXXX.html
A partir de cette page je récupère les différents éléments ( image, prix, poids, description, nom etc...) et j'entre ces infos directement dans la base ( avec des requêtes mysql ) voilà... J'ai juste étudié la base de données ...

Hugkc

Link to comment
Share on other sites

Bonjour à tous,

Il me semble avoir trouvé une solution de contournement du bogue de la fonction array_walk pour certaines versions de PHP 5.2.
Dans le fichier /prestashop/adm/tabs/AdminImport.php :
Modifier les 6 lignes appelant la fonction array_walk pour les imports category, product, customer, address, manufacturer et supplier sur le modèle suivant (pour product) :

array_walk($info, array('AdminImport', 'fillInfo'), $product);


à remplacer par les 3 lignes suivantes :

foreach ($info as $key => $value) {
   self::fillInfo($value, $key, $product);    
}


La fonction array_walk est appelée un 7ème fois pour la conversion UTF-8. Ne l'utilisant pas, je ne l'ai pas modifiée et donc pas testée. On doit pouvoir faire un foreach de manière similaire.
La modif ci-dessus a été testée avec succès sur une Debian 4.0 Etch PHP 5.2.0-8+etch13. L'import se fait correctement.
En dehors de ce script d'import, la fonction array_walk n'est jamais appelée. Donc pas de souci en perspective sur d'autres parties du code.
Signalez-moi si cela bloque chez vous. Attention en éditant le script à enregistrer les modifs en respectant le codage des fins de ligne (LF pour Linux).

Link to comment
Share on other sites

  • 1 month later...

Cette modif est a prendre avec des pincettes :
L'ayant essayer dans l'espoir de résoudre mes propre problemes d'import la table ps_category_product restait vide et il m'a fallu revenir à la fonction array_walk($info, array('AdminImport' pour m'en sortir.
Merci de diffuser

Bonjour à tous,

Il me semble avoir trouvé une solution de contournement du bogue de la fonction array_walk pour certaines versions de PHP 5.2.
Dans le fichier /prestashop/adm/tabs/AdminImport.php :
Modifier les 6 lignes appelant la fonction array_walk pour les imports category, product, customer, address, manufacturer et supplier sur le modèle suivant (pour product) :
array_walk($info, array('AdminImport', 'fillInfo'), $product);


à remplacer par les 3 lignes suivantes :

foreach ($info as $key => $value) {
   self::fillInfo($value, $key, $product);    
}


La fonction array_walk est appelée un 7ème fois pour la conversion UTF-8. Ne l'utilisant pas, je ne l'ai pas modifiée et donc pas testée. On doit pouvoir faire un foreach de manière similaire.
La modif ci-dessus a été testée avec succès sur une Debian 4.0 Etch PHP 5.2.0-8+etch13. L'import se fait correctement.
En dehors de ce script d'import, la fonction array_walk n'est jamais appelée. Donc pas de souci en perspective sur d'autres parties du code.
Signalez-moi si cela bloque chez vous. Attention en éditant le script à enregistrer les modifs en respectant le codage des fins de ligne (LF pour Linux).

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...