গৃহীত উত্তরের সাথে যুক্ত করা, অবহিত সংরক্ষণের পদ্ধতির পরিবর্তে সংগ্রহস্থলগুলি ব্যবহার করা ভাল ধারণা। এছাড়াও ট্র্যাকিং তৈরির পরে গ্রাহক বিজ্ঞপ্তি যুক্ত করেছেন।
/** @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);
}
যেখানে ipment চালান আপনার চালানের অবজেক্ট। বিজ্ঞপ্তি ব্যবহারকারীকে অবহিত করবে (ইমেল প্রেরণ) এবং ক্রম স্থিতির ইতিহাস সংগ্রহের সাথে একটি ইতিহাস আইটেম যুক্ত করবে।