shipmentLoader = $shipmentLoader; $this->shipmentProvider = $shipmentProvider ?: ObjectManager::getInstance() ->get(\Magento\Shipping\Model\ShipmentProviderInterface::class); parent::__construct($context); } /** * Shipment create page * * @return void */ public function execute() { $this->shipmentLoader->setOrderId($this->getRequest()->getParam('order_id')); $this->shipmentLoader->setShipmentId($this->getRequest()->getParam('shipment_id')); $this->shipmentLoader->setShipment($this->shipmentProvider->getShipmentData()); $this->shipmentLoader->setTracking($this->getRequest()->getParam('tracking')); $shipment = $this->shipmentLoader->load(); if ($shipment) { $comment = $this->_objectManager->get(\Magento\Backend\Model\Session::class)->getCommentText(true); if ($comment) { $shipment->setCommentText($comment); } $this->_view->loadLayout(); $this->_setActiveMenu('Magento_Sales::sales_order'); $this->_view->getPage()->getConfig()->getTitle()->prepend(__('Shipments')); $this->_view->getPage()->getConfig()->getTitle()->prepend(__('New Shipment')); $this->_view->renderLayout(); } else { $this->_redirect('*/order/view', ['order_id' => $this->getRequest()->getParam('order_id')]); } } }