09/04/21 Franck Bugnet Tuto

Supprimer ou fusionner les doublons de caractéristiques

Il arrive que suite à des importations de fichiers de fournisseurs différents on se retrouve avec plusieurs caractéristiques proches, ou même des doublons. 
Ces valeurs appartiennent même parfois elles-mêmes à des caractéristiques créées en double ou avec des noms très similaires.
Quand il y en a peu cela ne prête pas à conséquence, mais quand ce genre de doublons se multiplient, cela alourdi inutilement la base de données et donc ralenti la boutique.
De plus en fournissant une description de caractéristique différente d'une page produit à une autre, alors qu'il s'agit de la même option, vous fournissez des informations confuses à vos clients pouvant vous faire perdres des commandes.

Voyons comment nettoyer les données des tables de la boutique, sans une ligne de code en fusionnant ces doublons de caractéristiques avec notre module PrestaShop Merlin Backoffice (fonctionnalité disponible à partir de la version 1.6 de Merlin).

Afficher les caractéristiques contenant des doublons dans le module PrestaShop Merlin


  1. Connectez le module Merlin à votre base, inutile de sélectionner des catégories ou des produits, allez directement dans l'onglet "Caractéristiques"
  2. Cliquez sur le bouton "oeil" pour que Merlin lise toutes les caractéristiques présentes dans la base et les affiche.
  3. Sélectionnez une ou plusieurs lignes dans la table de gauche pour que s'affichent en 4/ toutes leurs valeurs dans la 3ieme table. Pour rappel la 2e table sert à traduire les noms des caractéristiques dans toutes les langues, la 4e à traduire les valeurs et celle de droite à gérer les caractéristiques custom.


Afficher les caractéristiques de PrestaShop

Sélectionner les valeurs à fusionner et supprimer


Soit simplement à la souris, avec clic, maj+clic et crtl+clic (comme pour toutes les sélections multi lignes sous Windows) en sélectionnant toujours en premier celle à conserver (si cela a  une importance) :

Sélection des lignes avec shift ou ctrl

Soit par recherche automatique avec l'outil "Chercher et sélectionner" : 

Recherche et sélection automatique

C'est magique ! même les valeurs similaires écrites avec des majuscules sont trouvées et sélectionnées automatiquement :

Résultat de la recherche et sélection automatique

Fusionner les doublons


  1. Rien de plus simple en cliquant sur le bouton représentant deux flèches qui se réunissent en une seule.
  2. Merlin vous demande quelle valeur donner à la seule valeur conservée.
  3. Validez.
  4. Vous pouvez en cochant cette case indiquer à Merlin de ne plus vous proposer de modifier la valeur. Il prendra alors toujours la valeur de la première ligne sélectionnée.


Lancez la fusion

Comment est effectué la suppression ou fusion des doublons  ?


  • Une seule des valeurs est conservée (un seul identifiant de valeur), la première de la sélection.
  • Sa valeur est remplacée par la nouvelle valeur saisie.
  • Les identifiants des autres valeurs, si elles avaient des produits associés, sont remplacés dans ces associations par l'identifiant de celle conservée.
  • Ces autres valeurs de caractéristiques sont ensuite définitivement supprimées de la base. 

Peut-on fusionner des valeurs appartenant à plusieurs catégories différentes ?


Absolument, il suffit de sélectionner les caractéristiques différentes, la table des valeurs affiche alors la liste complete et il suffit de les sélectionner avant de faire la fusion de la même manière.

Si des produits étaient associés à une des valeurs de caractéristique nettoyées, ils seront associés automatiquement à celle conservée même si elle appartient à un autre type.

Comment déplacer des valeurs d'une caractéristique dans une autre caractéristique sans perdre les liaisons avec les produits PrestaShop associés ?


En effet, après avoir fusionné les valeurs communes ou proches de deux (ou plus) caractéristiques, il se peut qu'il reste dans certaines caractéristiques, des valeurs qui n'ont pas d'équivalent dans la caractéristique que vous souhaitez conserver. Dans ce cas, il est utile de savoir comment les déplacer, pour regrouper toutes les valeurs au même endroit.
La difficulté réside dans le fait que si des produits possédent ces valeurs de caractéristique, il faut comme avec la méthode de fusion ci-dessus, conserver ces liens. 

Exemple : nous avons deux caractéristiques en doublons, "Format" et "Formats", du même type, que nous souhaitons regrouper en une seule. Elle contiennent trois valeurs communes ou égales (en vert), et on trouve deux valeurs dans "Formats" (en jaune), qui n'existent pas dans "Format".

Exercice de déplacement de caractéristiques, situation de départ

Pour fusionner tout cela, il y a deux approches possibles.
  1. La plus simple, serait de tout fusionner dans "Formats" car c'est celle-là qui contient toutes les valeurs.
  2. Mais supposons que pour une raison quelconque, nous devons conserver "Format" et supprimer "Formats", il faut dans ce cas déplacer les deux valeurs en jaune de "Formats" vers "Format".

On commence avec la méthode de fusion expliquée plus haut dans cet article, par fusionner les valeurs en vert dans "Format", ce qui nous donne :

Exercice de déplacement de caractéristiques, 1re fusion

Ensuite, on utilise la fonctionnalité de duplication pour créer un double dans "Format", des deux valeurs restantes de "Formats". Procédez comme suit :

  1. Sélection des deux caractéristiques
  2. Sélection des deux valeurs à recopier
  3. Clic sur le bouton de duplication

Dupliquer des valeurs de caractéristiques dans plusieurs caractéristiques différentes

Apès cela, les deux valeurs sont présentes dans les deux groupes.

Ne reste plus qu'à fusionner ces valeurs (deux par deux) comme vous savez à présent le faire (ce qui va permettre de conserver les associations aux produits et est donc équivalent à un transfert de valeurs entre deux caractéristiques), puis à supprimer "Formats" qui sera vide (voir paragraphe suivant) :

Fusionner les valeurs qui ont été dupliquées

Supprimer les caractéristiques vides, si elles font double emploi


Si après après fusionné toutes les valeurs d'une ou plusieurs caractéristiques, vous vous retrouvez avec des caractéristiques vides de toute valeur, le mieux est ensuite de les supprimer. C'est simple à faire avec Merlin :

  1. Sélectionnez les caractéristiques à effacer (table de gauche).
  2. Vérifiez que la table des valeurs de caractéristiques est bien vide (3e table). 
  3. Puis cliquez sur le bouton "Moins" de suppression à gauche de la table.

Supprimer des caractéristiques

ATTENTION :

  1. Si vous supprimez une valeur de caractéristique, sans l'avoir fusionnée, les produits associés seront bien sûr dé-associés et il sera ensuite impossible de les retrouver pour leur associer une valeur de caractéristique de remplacement.
  2. Si vous supprimez une caractéristique contenant des valeurs associées, elles seront supprimées, ainsi que leur associations, avec là aussi perte de l'historique.
  3. Une caractéristique peut avoir des valeurs personnalisées, non visibles dans la liste des valeurs partagées. Vérifiez que cela n'est pas le cas avant de supprimer une caractéristique, car les valeurs personnalisées sont supprimées en même temps et du fait de leur nature même (spécifiques à un produit et donc forcément associées), il n'est pas possible de les fusionner ou déplacer.


A noter que Merlin est nativement compatible avec les modules à caractéristiques multiples pour PrestaShop 1.4 à 1.6 ainsi qu'avec le mode natif de caractéristiques à valeurs multiples de PS 1.7 (mode d'ailleurs désactivable dans Merlin).
Donc en fonction du mode de fonctionnement choisi, le résultat pourra être différent. Expérimentez pour obtenir le résultat souhaité.

Autres articles de la même catégorie

Cet article vous a plu ? Partagez-le !