nicodelon Posted February 9, 2017 Share Posted February 9, 2017 Bonjour, Après une recherche dans les forum, un sujet a été ouvert plusieurs fois faisant refléter un besoin commun : la gestion des produits de manière globale et non par déclinaisons. Ce sujet a été révélé en 2010 : https://www.prestashop.com/forums/topic/41081-desactiver-la-gestion-des-quantites-avec-les-declinaisons/page-4 https://www.prestashop.com/forums/topic/19054-systeme-de-quantite-global/ Depuis toutes ces années a t-on évolué sur le sujet et comment répondez vous à ce besoin, Le but de ce post est d'obtenir une réponse valable et non pas d'ouvrir une polémique sur l'utilité ou non du besoin comme ce fut le cas dans les posts précédents. Merci à tous ceux qui pourraient participer à la clôture de ce post et par conséquence des autres posts sur le même sujet. Link to comment Share on other sites More sharing options...
nicodelon Posted February 10, 2017 Author Share Posted February 10, 2017 Après des recherches supplémentaires, voici un début de solution pris sur un autre Post N'hésitez pas à faire connaitre vos autres solutions / réponses ! Bonsoir les amis, J'ai trouvé la solution (enfin.. elle n'est pas de moi mais je l'ai trouvé sur un forum anglais).L'astuce, c'est de réduire la quantité de TOUTES les déclinaisons en meme temps lorsqu'un client passe commande.Exemple: J'ai 5 iphone que je peux vendre avec ou sans pochette. Produit IPHONE > Déclinaison 1 : AVEC pochette (quantité 5) > Déclinaison 2 : SANS prochette (quantité 5) Il faut donc que, lorsqu'un client commande 1 produit quelque soit la déclinaison, 1 soit retiré à toutes les déclinaisons (et il me restera donc bien 4 iphone).Pour cela il faut modifier dans : classes/stock/StockAvailable.php , ces 3 lignes : $stock_available = new StockAvailable($id_stock_available);$stock_available->quantity = $stock_available->quantity + $delta_quantity;$stock_available->update();Il faut les remplacer par : if ($id_product_attribute != 0) { $ids_product_attribute = array(); foreach (Product::getProductAttributesIds($id_product) as $id_product_attribute) $ids_product_attribute[] = $id_product_attribute['id_product_attribute']; foreach ($ids_product_attribute as $id_product_attribute) { $id_stock_available = StockAvailable::getStockAvailableIdByProductId($id_product, $id_product_attribute, $id_shop); $stock_available = new StockAvailable($id_stock_available); $stock_available->quantity = $stock_available->quantity + $delta_quantity; $stock_available->update(); } } else { $stock_available = new StockAvailable($id_stock_available); $stock_available->quantity = $stock_available->quantity + $delta_quantity; $stock_available->update(); }Et voila, ca a marché pour moi Link to comment Share on other sites More sharing options...
nicodelon Posted March 24, 2017 Author Share Posted March 24, 2017 Je relance le sujet qui n'a reçu aucune réponse. Connaissez vous une solution pour avoir un mode de fonctionnement qui permettrait d'avoir pour les déclinaisons rouge, vert, bleu : quantité globale = quantité déclinaison rouge = quantité déclinaison vert = quantité déclinaison bleu ????? Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now