_paymentHelper = $paymentHelper; $this->_coreRegistry = $registry; $this->addressRenderer = $addressRenderer; parent::__construct($context, $data); } /** * Preparing global layout. * * @return void */ protected function _prepareLayout() { $this->pageConfig->getTitle()->set(__('Print Order # %1', $this->getOrder()->getRealOrderId())); $infoBlock = $this->_paymentHelper->getInfoBlock($this->getOrder()->getPayment(), $this->getLayout()); $this->setChild('payment_info', $infoBlock); } /** * Get payment info child block html. * * @return string */ public function getPaymentInfoHtml() { return $this->getChildHtml('payment_info'); } /** * Retrieve current order from registry. * * @return \Magento\Sales\Model\Order|null */ public function getOrder() { return $this->_coreRegistry->registry('current_order'); } /** * Disable pager for printing page * * @return bool * @since 100.1.9 */ public function isPagerDisplayed() { return false; } /** * Get order items * * @return \Magento\Framework\DataObject[] * @since 100.1.9 */ public function getItems() { if (!$this->getOrder()) { return []; } return $this->getOrder()->getItemsCollection()->getItems(); } /** * Prepare item before output. * * @param AbstractBlock $renderer * @return $this */ protected function _prepareItem(AbstractBlock $renderer) { $renderer->setPrintStatus(true); return parent::_prepareItem($renderer); } /** * Returns string with formatted address * * @param \Magento\Sales\Model\Order\Address $address * @return null|string */ public function getFormattedAddress(\Magento\Sales\Model\Order\Address $address) { return $this->addressRenderer->format($address, 'html'); } }