04/26/20 Franck Bugnet Tuto Astuce

Comment désactiver des déclinaisons de PrestaShop sans les supprimer

Désactiver des produits dans PrestaShop, ça tout le monde sait faire. Le faire en masse, c'est facile aussi avec Merlin, voir ici si vous ne connaissez aucune des trois techniques de base.

Mais pour les déclinaisons, comment faire pour les désactiver, alors que rien n'est prévu pour cela dans PrestaShop ?  Voici notre astuce...

Méthodes alternatives avec PrestaShop pour empécher l'achat d'une déclinaison



Il n'existe pas de case à cocher "Actif" dans le back office PrestaShop, dans la table des déclinaisons, permettant de les désactiver temporairement. Les seules solutions, imparfaites, sont alors les suivantes:


  • Supprimer les déclinaisons. Pas terrible du tout, on perd les statistiques, il faut les refaire ensuite, sans oublier les stocks, les prix les références et penser à forcer leur identifiant (pas faisable nativement avec PrestaShop) pour garder une certaine cohérence dans les historiques des ventes. 
ou bien
  • Acheter un module annexe permettant de sur-classer le fonctionnement de PrestaShop et donc d'autoriser la désactivation des déclinaisons. Cela existe mais coûte le prix de Merlin, qui sait faire 1000 fois plus de choses. Donc mauvaise dépense.
ou bien
  • Mettre leur stock à 0. Imparfait, car le client pourra malgré tout les sélectionner pour se voir dire par le site d'en chosir une autre. Pas du tout commerçiale comme approche. Nous ce que l'on veut c'est masquer les variantes non disponibles.


Comment désactiver en masse des déclinaisons avec le module Merlin Backoffice™



L'astuce est la suivante :


Merlin Backoffice est nativement pensé et conçu pour gérer les configurations multi-boutiques complexes. Or, peut-être le savez-vous, les groupes d'attributs et les valeurs d'attributs peuvent avec Merlin être associés et dé-associés des diverses boutiques, d'un simple clic. Exemple avec un PrestaShop 1.6 configuré avec deux boutiques 1 et 2 :


Associer les attributs aux boutiques dans PrestaShop 1.6 multi-boutiques

Dans l'exemple ci dessus, le groupe d'attributs "Taille" est désactivé dans la boutique 2, la couleur "Blanc" est désactivée dans la boutique 2 et la couleur "Camel" est désactivée dans la boutique2. Pour les ré-activer (ou plus exactement ré-associer), il suffit d'un clic dans les cases à cocher.

Et alors ? me direz-vous. Le résultat est que toutes les déclinaisons, de tous les produits, définies par une Taille ou liées à la couleur Blanc sont automatiquement désactivées en boutique 2, les déclinaisons de couleur Camel sont automatiquement désactivées de la boutique 1.



Et si on n'est pas en multi-boutiques ?


Cela fonctionne de la même manière, on a juste une seule colonne correspondante à la boutique 1, ici un PrestaShop 1.7, mono boutique, dans laquelle on a désactivé l'attribut de couleur "Noir":


Désactivation d'un attribut dans PrestaShop 1.7


Prenons l'exemple d'un tee-shirt disponible en deux couleurs et diverses tailles, avec tous les attributs correctement associés à la boutique :


Produit disponible en plusieurs tailles et deux couleurs


Le voici proposé en boutique, avec au choix les deux couleurs :


Choisir une couleur de déclinaison en boutique


Si à présent on décoche l'association entre l'attribut "Noir" et la boutique, mais sans supprimer les déclinaisons noires, comme ceci :


Désactivation d'un attribut, sans supprimer les déclinaisons


On a alors en boutique exactement le résultat recherché, les déclinaisons de couleur noir ayant été désactivées, elles ne sont plus proposées :


Les déclinaisons désactivées ne sont plus proposées à la vente


Mais il y a quand même un gros soucis avec cette méthode, c'est que toutes les déclinaisons de tous les produits de la boutiques, de couleurs noires, sont également désactivées. Aie, donc il faut améliorer la technique.


A noter malgré tout que cette techniques peut se suffire à elle-même dans certains cas de figure. Imaginons un vendeur de portails bois et aluminium et que soudain le fabricant ait des soucis techniques pour travailler l'alu et ne puisse plus livrer provisoirement que des versions bois, on peut imaginer vouloir désactiver massivement toutes les déclinaisons en alu du site, simplement  en désactivant provisoirement l'attribut alu dans la boutique.



Comment désactiver uniquement certaines déclinaisons de PrestaShop


 On va reprendre le même exemple de tee-shirt blanc et noir.


On souhaite donc désactiver uniquement l'ensemble des déclinaisons noires de ce produit en particulier (ou d'une sélection de produits, mais pas sur tous les produits).

On va pour cela créer un nouvel attribut temporaire, le désactiver et l'associer à ces déclinaisons à la place du "Noir".


Pour réactiver plus tard ces déclinaisons, à l'identique, il suffira de leur ré-affecter l'attribut "Noir" en suivant exactement la même méthode.


  1. Créez un nouvel attribut "Noir out of stock" (peut importe le nom) en cliquant sur le bouton "+ Nouv." de la table des valeurs d'attributs.
  2. Le désassocier de la boutique (on laisse activée par contre la vraie couleur "Noir").
  3. Sélectionnez les produits à modifier, affichez leur déclinaisons, puis dans la table des déclinaisons, faites un clic droit dans une des cellules contenant l'attribut "Noir" (il faut avoir activé l'affichage de la rubrique "1 colonne par attribut" pour voir ce type de colonnes) pour faire apparaître le menu contextuel.
  4. Choisissez la commande "Sélection filtrée sur cette colonne...", permettant de rechercher et sélectionner des lignes dans la même étape.
  5. Réglez le filtre sur "Egal à Noir" et validez. 
  6. A ce stade vous devriez voir toutes les déclinaisons noires sélectionnées, pour tous les produits sélectionnés.
  7. Faites un simple clic dans la colonne Déclin. dans la case à cocher de la ligne de l'attribut temporaire "Noir out of stock",cela a pour effet immédiat de remplacer dans toutes les déclinaisons sélectionnées, la couleur "Noir" par "Noir out of stock". 
  8. Eventuellement, cliquez sur le bouton "Rafraîchir" qui clignote, pour mettre à jour l'affichage et vérifier que les déclinaisons "Noires' ont bien changé d'attribut de couleur.

Comment désactiver une sélection de déclinaisons


Déclinaisons désactivées mais non supprimées


Pour ce produit, le résultat est identique, les déclinaisons noires sont désactivées et ne sont donc plus proposées aux acheteurs sur le site :


Les déclinaisons désactivées ne sont plus proposées à la vente


Mais cela n'impacte pas les autres produits, comme cet autre tee-shirt manches longues, toujours disponible en Blanc ou Noir :
L'attribut noir n'est pas désactivé pour les autres produits


Autres articles de la même catégorie

Cet article vous a plu ? Partagez-le !