Un de nos clients a demandé à son personnel chargé de la saisie des commandes de soumettre des commandes avec un total de commandes négatif. L'application autorise déjà les éléments de campagne négatifs, ce qui fonctionne bien tant que le reste de la commande génère un total général positif.
Il semble que Magento s'efforce de ne pas avoir un total de commandes négatif. L'examen des totaux collectés montre que Magento appliquera une carte-cadeau pour le montant inverse. Si je désactive la carte-cadeau, elle applique le crédit de magasin (même si le crédit n'existe pas). Je soupçonne que ce n'est qu'une bizarrerie (et peut-être un hareng rouge).
Quelqu'un peut-il aider à déterminer où Magento force 0 comme son montant total maximum et comment nous pourrions répondre à la demande? Je ne veux pas simplement forcer le total, car je veux que Magento calcule tout normalement, juste avec l'allocation d'un Grand Total négatif.
L'esprit de la question est la faisabilité technique, mais une fois que cela est abordé, je suis intéressé par tous les «accrochages» ou pensées qui pourraient dissuader l'utilisation de totaux d'ordre négatif d'un point de vue non technique.
la source
Réponses:
Cela semble être une décision très risquée. Si vous l'avez implémenté, vous devrez remplacer une trop grande partie du noyau, ce qui rend le site extrêmement difficile à mettre à niveau et à prendre en charge.
Effectuer une recherche dans le noyau Magento pour les
max(0
résultats de retour dans les domaines suivants:Enterprise_CustomerBalance_Model_Observer::creditmemoDataImport()
Enterprise_GiftCard_Model_Catalog_Product_Price_Giftcard::getFinalPrice()
Mage_Bundle_Model_Product_Price::getFinalPrice()
Mage_Catalog_Model_Product_Type_Price::getFinalPrice()
Mage_Catalog_Model_Product_Type_Configurable_Price::getFinalPrice()
Mage_Catalog_Model_Product_Type_Grouped_Price::getFinalPrice()
Mage_CatalogRule_Helper_Data::calcPriceRule()
Mage_Downloadable_Model_Product_Price::getFinalPrice()
Mage_SalesRule_Model_Validator::process()
Mage_Tax_Block_Sales_Order_Tax::_initSubtotal()
Mage_Tax_Model_Sales_Total_Quote_Tax (multiple uses)
Et bien d'autres dans les modèles dans les zones adminhtml et frontend. Vous devrez peut-être réécrire bon nombre de ces modèles pour obtenir la fonctionnalité souhaitée.
Vous pouvez envisager les alternatives ci-dessous:
Si vous fournissez un scénario dans lequel une commande se terminerait par un total négatif, ainsi que le raisonnement qui la sous-tend, la communauté sera en mesure de vous donner une meilleure réponse. Il est difficile de résoudre un problème comme celui-ci tant que vous ne comprenez pas la valeur commerciale derrière la décision.
la source