| Current Path : /var/www/clients/client3/web2/web/vendor/magento/module-sales/Block/Order/ |
| Current File : /var/www/clients/client3/web2/web/vendor/magento/module-sales/Block/Order/PrintShipment.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Sales\Block\Order;
use Magento\Framework\View\Element\AbstractBlock;
/**
* Order information for print
*
* @api
* @since 100.0.2
*/
class PrintShipment extends \Magento\Sales\Block\Items\AbstractItems
{
/**
* Core registry
*
* @var \Magento\Framework\Registry
*/
protected $_coreRegistry = null;
/**
* @var \Magento\Payment\Helper\Data
*/
protected $_paymentHelper;
/**
* @var \Magento\Sales\Model\Order\Address\Renderer
*/
protected $addressRenderer;
/**
* @param \Magento\Framework\View\Element\Template\Context $context
* @param \Magento\Framework\Registry $registry
* @param \Magento\Payment\Helper\Data $paymentHelper
* @param \Magento\Sales\Model\Order\Address\Renderer $addressRenderer
* @param array $data
*/
public function __construct(
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Framework\Registry $registry,
\Magento\Payment\Helper\Data $paymentHelper,
\Magento\Sales\Model\Order\Address\Renderer $addressRenderer,
array $data = []
) {
$this->_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');
}
}