`Sales_order_place_after` और` sales_order_save_after` के बीच अंतर?


12

Magento 1 और Magento 2 दोनों में दो घटनाएँ हैं:

  1. sales_order_place_after
  2. sales_order_save_after

मुझे उनके बारे में कुछ भ्रम है, उनके बीच विस्तृत मतभेद क्या है ?

किस स्थिति का उपयोग करें?

जवाबों:


21

sales_order_place_after

  1. आदेश भुगतान किए जाने के बाद यह ईवेंट भेजा जाता है।
  2. Mage_Sales_Model_Order::place()Magento 1 और \Magento\Sales\Model\Order::place()Magento 2 में यह घटना समारोह

sales_order_save_after

  1. हर बार आदेश सहेजे जाने पर इस घटना को बुलाया जाता है। उदाहरण के लिए। ऑर्डर की स्थिति बदली, चालान, शिप और क्रेडिट मेमो।
  2. यह घटना अमूर्त मॉडल का विस्तार करती है Mage_Core_Model_Abstract

    उदाहरण के लिए। Mage_Sales_Model_Orderवर्ग घटना उपसर्ग है sales_order, इसलिए वास्तविक के बाद लोड हो रहा है घटना के नाम हो जाएगा sales_order_load_after


5

1. sales_order_place_after:

इस घटना से भेजा जाता है

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;
}

इस घटना को दृश्यपटल से स्थान आदेश पर क्लिक करने के बाद ही भेजा जाता है।

2. sales_order_save_after:

इस घटना को बचत आदेश पर ट्रिगर किया जाता है , या तो बैकएंड या फ्रंटएंड से। हर बार कुछ संपादन क्रम में किए जाते हैं और सहेजे जाते हैं, इस घटना को भेज दिया जाता है। इस घटना को दृश्य के साथ-साथ आदेश देते हुए भी भेजा जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.