मैं Magento 2 में वर्तमान ऑर्डर शिपमेंट में ट्रैकिंग नंबर कैसे जोड़ूं?


10

मुझे Magento 1.x के लिए नमूना कोड मिले। लेकिन मुझे नहीं पता कि मैगेंटो 2 पर यह कैसे करना है।

क्या कोई वर्णन कर सकता है कि डिपेंडेंसी इंजेक्शन (DI) का उपयोग करके इसे कैसे लागू किया जाए ?

धन्यवाद।

$trackingDetail = array(
    'carrier_code' => 'ups',
    'title' => 'United Parcel Service',
    'number' => 'TORD23254WERZXd3', // Replace with your tracking number
);

$track = Mage::getModel('sales/order_shipment_track')->addData($trackingDetail);
$shipment->addTrack($track);


$transactionSave = Mage::getModel('core/resource_transaction')
->addObject($shipment)
->addObject($shipment->getOrder())
->save();

जवाबों:


12

AFAIK ट्रैक ऑब्जेक्ट M2 में समान है।

हालाँकि, बाकी कोड बदल गए हैं।

$data = array(
    'carrier_code' => 'ups',
    'title' => 'United Parcel Service',
    'number' => 'TORD23254WERZXd3', // Replace with your tracking number
);

$track = $this->trackFactory->create()->addData($data);
$shipment->addTrack($track)->save();

जहां $this->trackFactoryएक उदाहरण है Magento\Sales\Model\Order\Shipment\TrackFactoryऔर $shipmentआपकी शिपमेंट वस्तु है।


BTW मुझे आश्चर्य है कि अगर आप जानते हैं कि कैसे ऑर्डर शिपमेंट टिप्पणियां भी MG2 के लिए प्राप्त करें। यदि आप इसे यहाँ पोस्ट करते हैं। धन्यवाद।
रोशन रूज़िक

शिपमेंट में ट्रैकिंग यूआरएल कैसे जोड़ें?
पुरुषोत्तम शर्मा

@ रोशनरुजिक, यदि आप पूछ रहे हैं कि शिपमेंट में टिप्पणी कैसे जोड़ें तो यह है कि मैंने कैसे किया है: $ टिप्पणी टिप्पणी = 'टेस्ट टिप्पणी'; // टिप्पणी इंटरफ़ेस: \ Magento \ Sales \ Api \ Data \ ShipmentCommentCreationInterface $ टिप्पणी = $ this-> commentInterface-> setComment ($ commentText); // नीचे दिए गए उदाहरण के रूप में शिपमेंट बनाते समय पैरामेटर में से एक के रूप में $ टिप्पणी का उपयोग करें: // जहाज ऑर्डर सेवा: \ Magento \ Sales \ Model \ ShipOrder $ यह-> shipOrderService-> निष्पादित ($ ऑर्डरआईडी, $ $ $), $ सूचित करें, $ includeComment, $ टिप्पणी, $ पटरियों);
सर्जन गौतम

हाय @Raphael डिजिटल pianism sipping ट्रैकिंग नंबर पर, और वाहक_कोड magento2 में "sales_shipment_track" तालिका में बचत कर रहा है लेकिन यह शिपिंग चार्ज कहाँ बचाएगा?
नागराजू के

आप इस तरह के सवाल पर मदद कर सकते हैं कृपया magento.stackexchange.com/questions/268844/…
Kris Wen

9

स्वीकृत उत्तर में जोड़कर, हटाए गए बचत विधि के बजाय रिपॉजिटरी का उपयोग करना एक अच्छा विचार होगा। ट्रैकिंग निर्माण के बाद ग्राहक की अधिसूचना को भी जोड़ा।

/** @var Magento\Sales\Model\Order\ShipmentRepository */
protected $_shipmentRepository;

/** @var Magento\Shipping\Model\ShipmentNotifier */
protected $_shipmentNotifier;

/** @var Magento\Sales\Model\Order\Shipment\TrackFactory */
protected $_trackFactory; //missing ;

public function __construct(
  \Magento\Shipping\Model\ShipmentNotifier $shipmentNotifier, 
  \Magento\Sales\Model\Order\ShipmentRepository $shipmentRepository, 
  \Magento\Sales\Model\Order\Shipment\TrackFactory $trackFactory)
{
  $this->_shipmentNotifier = $shipmentNotifier;
  $this->_shipmentRepository = $shipmentRepository;
  $this->_trackFactory = $trackFactory;
}
public function addTrack($shipment, $carrierCode, $description, $trackingNumber) 
{
    /** Creating Tracking */
    /** @var Track $track */
    $track = $this->_trackFactory->create();
    $track->setCarrierCode($carrierCode);
    $track->setDescription($description);
    $track->setTrackNumber($trackingNumber);
    $shipment->addTrack($track);
    $this->_shipmentRepository->save($shipment);

    /* Notify the customer*/
    $this->_shipmentNotifier->notify($shipment);
 }

जहां $ शिपमेंट आपकी शिपमेंट वस्तु है। अधिसूचना उपयोगकर्ता को सूचित (ईमेल भेज) करेगी और ऑर्डर स्टेटस इतिहास संग्रह में एक इतिहास आइटम जोड़ेगी।


यह मेरे लिए काम नहीं करता था, हेल्पर क्लास बनाया है, मैं getDeiveryTime (), getCancelTime (), getDispatchTime () लाने में सक्षम हूं, लेकिन मैं ट्रैकिंग नंबर प्राप्त करने में असमर्थ हूं। क्या आप शिपमेंट के बाकी विवरण लाने के लिए कार्यों की एक सूची प्रदान कर सकते हैं
insoftservice

क्या आप इस तरह के सवाल पर मदद कर सकते हैं? magento.stackexchange.com/questions/268844/…
क्रिश वेन

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