Bonjour unbiocadeau,
les ventes augmentant sur ma boutique, cette non gestion des stocks devenait insupportable, et comme visiblement, même la version 1.5 à venir ne gérera pas ceci, j'ai trouvé un parade qui me convient tout à fait, et j'espère qu'il n'est pas trop tard pour toi !
Il est clair que l'idéal serait que lorsque l'on créé un pack, si un produit à des déclinaisons, elles soient ajoutées automatiquement au pack et que le stock soit géré sur chaque déclinaisons de produits.
Je suis en version 1.4.6.2.
Attention, ce n'est pas un module à part entière mais une surcharge d'une fonction de la classe produit qui permet de gérer les stocks des déclinaisons comme suit.
L'installation est néanmoins très simple grâce à l'override de Prestashop.
J'ai plusieurs cas, imaginons :
- Produit A : un sac, je gère le stock sur ce produit.
- Produit B : un pack avec deux sacs (2 x A), je ne souhaite pas gérer de stock sur ce produit (pack).
- Produit C : des lunettes avec des déclinaisons de couleur Rouge, Bleue, Vert, Jaune. Je gère le stock sur chaque déclinaisons.
- Produit D : une montre, je gère le stock sur ce produit.
- Produit E : un pack avec un sac (1 x A), une montre (1 x D), des lunettes (1 x C). J'ai recréé les déclinaisons couleurs qui existe sur les lunettes avec de nouvelles références (pas le choix). Je ne souhaite pas gérer de stock sur ce produit (pack).
Lorsque je commande le produit B, il décompte 2 produits A. C'est le fonctionnement classique de Prestashop, sauf que cela m'ennuyait de devoir mettre un stock sur B. Donc je fixe 1, et cela ne bouge plus.
Lorsque je commande le produit E, son stock est également à 1 et ne bouge pas. Par contre, un produit A est décompté, un produit D est décompté, et la déclinaison du produit couleur correspondante est décomptée.
Si vous souhaitez obtenir ce fonctionnement, le fichier joint est pour vous !
Oui mais comment réaliser la liaison entre la déclinaison re-créée sur le pack et la déclinaison correspondante du produit initial. C'est là que la ruse est un peu technique. J'utilise le champ UPC dans les déclinaisons puisque je ne m'en sers pas. Donc, dans la déclinaison du pack j'indique l'id de la déclinaison du produit que j'ai trouvé dans la table 'product_attribute'.
Clairement, la déclinaison de ma lunette verte a la référence LUNVER et l'id dans la table 22. La déclinaison de mon pack est PCKVER. J'indique à côté de la référence PCKVER, 22 dans le champ UPC.
Evidemment cela pourrait être amélioré en indiquant la référence du produit initial plutôt que l'id. Mais comme j'en ai peu, je me suis arrêté là. Si un lecteur développeur se le sent, avec plaisir ;-)
That's it !
Tous mes stocks sont justes en attendant que tout ceci soit géré en standard dans Prestashop.
Il suffit de placer le fichier joint dans le répertoire 'override\classes'. Seule la fonction de mise à jour des quantités est modifiée donc, à priori, pas d'effets de bord.
Merci aux experts pour les commentaires, mais je n'ai rien remarqué de curieux suite à cette modification.
Product.php