Est-il possible de mettre à jour le prix de l'article commandé et le total de la commande une fois la commande passée ?
-
12-12-2019 - |
Question
Bonjour, je souhaite mettre à jour le prix de l'article commandé, le total général et les détails de la commande une fois la commande passée.
supposons que j'ai passé une commande avec un article
Item A
- article de commande price $10
Item b
- article de commande price $20
Discount is $5
Total général - 25 $
Maintenant mon order status is pending
et je veux update order item price and other price
exactement comme ça
Item A
- article de commande price $40
Item b
- article de commande price $30
Discount is $7
Grandtotal - $63
Est-il possible?
La solution
Je pense que vous pouvez faire cela comme vous modifieriez n'importe quelle autre instance de modèle
$item = Mage::getModel('sales/order_item')->load(id here)l
$item->setPrice(40)->setBasePrice(40)->save();
alors
$order = Mage::getModel('sales/order')->load(order id here);
$order->setSubtotal(70)->setBaseSubtotal(70);
$order->setDiscountAmount(7)->setBaseDiscountAmout(7);
$order->setGrandTotal(63)->setBaseGrandTotal(63);
$order->save();
Vous devrez peut-être également modifier d'autres valeurs telles que tax, subtotal_incl_tax et autres.
Mais c’est une mauvaise pratique et vous ne devriez pas le faire.Il est préférable d'annuler la commande et d'en créer une nouvelle.
Autres conseils
J'ai créé la solution pour mettre à jour le prix de l'article particulier et recalculer le montant de la commande, veuillez référer ma réponse @ Mettre à jour le total de la commande après la commande