Jump to content

Intégration des images d'un produit par un script d'import


Recommended Posts

Bonjour à tous,

Je travaille actuellement sur l'import de mes nouveaux produits (+ de 20000) je rencontre un petit souci.

Je cherchais tant bien que mal, le système qui à partir de l'url de l'image source, me créerai les images pour le produit associé.

Pour le moment, dans mon script, je récupère parfaitement tous les informations nécessaire à la création du produit dans l a base de donnée, mais pour les images, apparemment c'est complètement autre chose (en jetant un coup d’œil à la table ps_image et ses tables associé).

Avant de vous embêter ici, j'ai essayer de chercher la fonction utiliser par le système d'import de prestashop dans le BackOffice pour le redimensionnement des images, mais j'ai pas trouvé. Et c'est impensable de passer par l'import produit du BO pour importer 20000 produits.

Donc ma question, c'est de savoir si une âme charitable pouvais me faire passer la fonction ou une source de code, pour que je puisses rajouter l'intégration des images à partir d'une url pour l'intégrer dans mon script d'import de produits.

Prestashop version : 1.4.3

Merci d'avance.

Link to comment
Share on other sites

je ne sais si j'ai bien compris ta question mais voila comment moi je fait:
1. uploader toutes les images originales (les plus grandes) dans le dossier tondomaine.com/img/p
par FTP, SSH

2. edite le fichier excel ou tu rentre toutes les références produits. Dans la colonne image tu met l'URL complet vers ton ou tes image . si tu as plusieurs images pour le même produit tu les séparés par une virgule
ex:http://www.tondomaine.com/img/p/image1_produit1.jpg,http://www.tondomaine.com/img/p/image2_produit1.jpg

3.export ton excel en .csv

4. utilse l'outils d'import des produitsde prestashop en définissant bien tes colonnes
d’ailleurs tu as la liste des colonne acceptées sur la droite

les miniatures se feront automatiquement, les "originaux" seront sur ton serveur au cas ou tu aurais besoin de refaire les miniatures plus tard

Link to comment
Share on other sites

je ne sais si j'ai bien compris ta question mais voila comment moi je fait:1. uploader toutes les images originales (les plus grandes) dans le dossier tondomaine.com/img/p par FTP, SSH2. edite le fichier excel ou tu rentre toutes les références produits. Dans la colonne image tu met l'URL complet vers ton ou tes image . si tu as plusieurs images pour le même produit tu les séparés par une virgule ex:http://www.tondomaine.com/img/p/image1_produit1.jpg,http://www.tondomaine.com/img/p/image2_produit1.jpg 3.export ton excel en .csv4. utilse l'outils d'import des produitsde prestashop en définissant bien tes colonnes d’ailleurs tu as la liste des colonne acceptées sur la droiteles miniatures se feront automatiquement, les "originaux" seront sur ton serveur au cas ou tu aurais besoin de refaire les miniatures plus tard

 

Bonjour et merci pour la réponse.

 

En fait c'est pas du tout ça, je ne passe pas par l’outil d'import produit de prestashop, mais par un script PHP, qui va écrire directement dans les tables.

Aucun problème pour tout ce qui est chiffres et textes, mais les images, étant donnée qu'il y a un système de redimensionnement des images, je ne sais pas comment procédé.

J'ai ma liste d'url des images de mon fournisseurs, j'ai analysé la table ps_image, et j'ai cru comprendre que presta attribuait un id par image associé à l'id du produit. Jusqu'ici pas de souci, mais comment je fait pour généré les autres images ? Dois-je mettre une image par défaut, et lancer après upload de toutes les images la régénération des miniatures ?

 

Je sais pas si j'ai été clair, mais merci de prendre un peu de temps pour moi.

 

@ +

Link to comment
Share on other sites

je ne sais pas trop.

J’essayerais avec quelques produits seulement.

Je mettrais une image avec comme nom <id_produit>-<id_image>-thickbox.jpg

Ensuite j'utiliserais l'outil de génération de miniature pour voir ce que ça donne

 

PS: pourquoi ne pas utiliser l'outil import? Tu vas chercher les infos directement dans la base de ton fournisseur? Au pire utilise ton script pour créer un csv correct et utilise l'outil import. (une idée comme ça)

Link to comment
Share on other sites

Merci pour l'idée.

 

Du coup vu la complexité du problème, je pars sur le développement d'un nouvel outil d'import, avec génération d'un Cron et tache automatique de création d'information des tables associés en cas de nouvelles infos.

Je m'explique, mon problème, c'est que aujourd'hui je travail avec des fournisseurs, qui me référence leur catalogue sur mon site. Quand on travail sur 250 références, pas de problème, mais lorsque l'on commence à intégrer plus de 20000 refs, ça commence à être difficile.

 

Dans mon exemple, j'ai un fournisseur, qui me fourni 16 colonnes d'information par produit (catégories, nom, description, image, prix ...). SI on veut faire en sorte que toutes les données soit traité proprement avec prestashop, sans retouche des CSV, il me fallait repenser autrement l'import.

Du coup, avec Symphony 2, j'ai générer le modèle de la BDD de prestashop 1.4.3 (en espérant qu'il y aura pas trop de modification sur la 1.5), et je vais traiter TOUTES les informations du CSV de façon intelligente, avec une adaptation du contenu optimisé au maximum.

Par exemple : s'il y a un nouveau produit, qui a un nouveau fabricant et une nouvelle catégorie, pas de problème, le script (qui à le schéma de la base) créera la catégorie, et y introduira le produit.

 

Pour tout ça rien de complexe. Ce qui m'embête, c'est tout en essayant de rester propre, ou puis-je trouver le schéma de redimensionnement des images ? Leur règle de réécriture ? etc...

 

Merci d'avance pour vos réponse, quand j'aurais fini mon module, je le posterai sur prestashop.

 

@ +

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