03 Fév 2020

Prestashop 1.7, erreur lors de la création de l’image supplémentaire

Vous avez peut-être rencontré ce problème suite à une migration de votre Prestashop 1.7 vers une version plus récente. L’impossibilité d’ajouter plusieurs images d’un coup à votre produit. Voici comment résoudre ce problème.

Une erreur de base de données

Suite à la migration de votre site, certaines tables en base de données n’ont pas été mises à jours pour Prestashop 1.7. Pour rappel une table va correspondre à certaines données (clients, produits etc). Dans notre cas actuel, c’est un problème avec les tables VOTREPREFIXE_image et VOTREPREFIXE_image_shop.

Si vous essayez d’importer une image et que vous avez un message en rouge qui indique : “erreur lors de la création de l’image supplémentaire” alors à coup sûr la suite de l’article va vous plaire !

En activant le mode débug de Presta voici le message d’erreur :

Vérifiez l’erreur de votre côté en affichant les erreurs en suivant mon article ou ma vidéo :

Corriger le problème avec la table image_shop

Attention, si vous ne connaissez pas PhpMyAdmin et la gestion de base données je vous conseil fortement de faire appel à un freelance Prestashop. Avant toute intervention il est impératif de faire des sauvegardes de votre bdd.

Pour corriger le problème j’ai commencé par exporter mes 2 tables ps_image et ps_image_shop.
Ensuite j’ouvre mon éditeur de texte pour pouvoir faire mes remplacements.
Le but est d’appliquer la valeur NULL à 0 pour chaque élément :

Du coup j’ai fais une recherche des éléments (ctrl+f) “0),” et un remplacement en masse par “NULL),“.

Ce qui donne :

J’ai fais une modification aussi au niveau de la structure de la table ps_image, voici ce que j’avais :

J’ai remplacé “NOT NULL DEFAULT ‘0’” par “DEFAULT NULL” sur la ligne cover.

Le résultat :

Une fois les fichiers édités j’ai supprimé les 2 tables sur PhpMyAdmin et j’ai importé mes 2 fichiers sql. Cela a corriger le problème.
Cependant je suis conscient qu’il y a un moyen plus simple de corriger cela. Si jamais un développeur lis ces lignes il peut mettre la requête SQL en commentaire pour aider la communauté 🙂

Je rappelle qu’il faut absolument faire une sauvegarde de votre base de données Prestashop avant d’intervenir.

Vous pouvez faire appel à un professionnel. Je suis Freelance expert Prestashop et pour me contacter rendez-vous sur ma page contact.