* @since 100.0.2 */ class AbstractOrder extends \Magento\Backend\Block\Widget { /** * Core registry * * @var \Magento\Framework\Registry */ protected $_coreRegistry = null; /** * Admin helper * * @var \Magento\Sales\Helper\Admin */ protected $_adminHelper; /** * @param \Magento\Backend\Block\Template\Context $context * @param \Magento\Framework\Registry $registry * @param \Magento\Sales\Helper\Admin $adminHelper * @param array $data */ public function __construct( \Magento\Backend\Block\Template\Context $context, \Magento\Framework\Registry $registry, \Magento\Sales\Helper\Admin $adminHelper, array $data = [] ) { $this->_adminHelper = $adminHelper; $this->_coreRegistry = $registry; parent::__construct($context, $data); } /** * Retrieve available order * * @return Order * @throws \Magento\Framework\Exception\LocalizedException */ public function getOrder() { if ($this->hasOrder()) { return $this->getData('order'); } if ($this->_coreRegistry->registry('current_order')) { return $this->_coreRegistry->registry('current_order'); } if ($this->_coreRegistry->registry('order')) { return $this->_coreRegistry->registry('order'); } throw new \Magento\Framework\Exception\LocalizedException(__('We can\'t get the order instance right now.')); } /** * Get price data object * * @return Order|mixed */ public function getPriceDataObject() { $obj = $this->getData('price_data_object'); if ($obj === null) { return $this->getOrder(); } return $obj; } /** * Display price attribute * * @param string $code * @param bool $strong * @param string $separator * @return string */ public function displayPriceAttribute($code, $strong = false, $separator = '
') { return $this->_adminHelper->displayPriceAttribute($this->getPriceDataObject(), $code, $strong, $separator); } /** * Display prices * * @param float $basePrice * @param float $price * @param bool $strong * @param string $separator * @return string */ public function displayPrices($basePrice, $price, $strong = false, $separator = '
') { return $this->_adminHelper->displayPrices( $this->getPriceDataObject(), $basePrice, $price, $strong, $separator ); } /** * Retrieve order totals block settings * * @return array */ public function getOrderTotalData() { return []; } /** * Retrieve order info block settings * * @return array */ public function getOrderInfoData() { return []; } /** * Retrieve subtotal price include tax html formatted content * * @param \Magento\Framework\DataObject $order * @return string */ public function displayShippingPriceInclTax($order) { $shipping = $order->getShippingInclTax(); if ($shipping) { $baseShipping = $order->getBaseShippingInclTax(); } else { $shipping = $order->getShippingAmount() + $order->getShippingTaxAmount(); $baseShipping = $order->getBaseShippingAmount() + $order->getBaseShippingTaxAmount(); } return $this->displayPrices($baseShipping, $shipping, false, ' '); } }