Magento 1 et Magento 2 ont tous deux les deux événements:
sales_order_place_after
sales_order_save_after
.
J'ai une certaine confusion à leur sujet, quelles sont les différences détaillées entre eux?
Quelle situation utiliser laquelle?
la source
Magento 1 et Magento 2 ont tous deux les deux événements:
sales_order_place_after
sales_order_save_after
.J'ai une certaine confusion à leur sujet, quelles sont les différences détaillées entre eux?
Quelle situation utiliser laquelle?
sales_order_place_after
Mage_Sales_Model_Order::place()
dans Magento 1 et \Magento\Sales\Model\Order::place()
dans Magento 2sales_order_save_after
Cet événement étendant le modèle abstrait Mage_Core_Model_Abstract
Par exemple. le Mage_Sales_Model_Order
préfixe d'événement de classe est sales_order
, donc le nom réel de l'événement après le chargement sera sales_order_load_after
.
1. sales_order_place_after:
Cet événement est expédié du
class Mage_Sales_Model_Order extends Mage_Sales_Model_Abstract
{
...
public function place()
{
Mage::dispatchEvent('sales_order_place_before', array('order'=>$this));
$this->_placePayment();
Mage::dispatchEvent('sales_order_place_after', array('order'=>$this));
return $this;
}
Cet événement n'est envoyé qu'après avoir cliqué sur passer commande à partir du frontend.
2. sales_order_save_after:
Cet événement est déclenché lors de l' enregistrement de l'ordre, à partir du backend ou du frontend. Chaque fois qu'une modification est effectuée dans l'ordre et enregistrée, cet événement est envoyé. Cet événement est également envoyé lors de la commande depuis le frontend.