![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-sales/Block/Adminhtml/Items/Column/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Sales\Block\Adminhtml\Items\Column; use Magento\Sales\Model\Order\Creditmemo\Item as CreditmemoItem; use Magento\Sales\Model\Order\Invoice\Item as InvoiceItem; use Magento\Sales\Model\Order\Item; use Magento\Quote\Model\Quote\Item\AbstractItem as QuoteItem; /** * Adminhtml sales order column renderer * * @api * @author Magento Core Team <[email protected]> * @since 100.0.2 */ class DefaultColumn extends \Magento\Sales\Block\Adminhtml\Items\AbstractItems { /** * Option factory * * @var \Magento\Catalog\Model\Product\OptionFactory */ protected $_optionFactory; /** * @param \Magento\Backend\Block\Template\Context $context * @param \Magento\CatalogInventory\Api\StockRegistryInterface $stockRegistry * @param \Magento\CatalogInventory\Api\StockConfigurationInterface $stockConfiguration * @param \Magento\Framework\Registry $registry * @param \Magento\Catalog\Model\Product\OptionFactory $optionFactory * @param array $data */ public function __construct( \Magento\Backend\Block\Template\Context $context, \Magento\CatalogInventory\Api\StockRegistryInterface $stockRegistry, \Magento\CatalogInventory\Api\StockConfigurationInterface $stockConfiguration, \Magento\Framework\Registry $registry, \Magento\Catalog\Model\Product\OptionFactory $optionFactory, array $data = [] ) { $this->_optionFactory = $optionFactory; parent::__construct($context, $stockRegistry, $stockConfiguration, $registry, $data); } /** * Get item * * @return Item|QuoteItem */ public function getItem() { $item = $this->_getData('item'); if ($item instanceof Item || $item instanceof QuoteItem) { return $item; } else { return $item->getOrderItem(); } } /** * Get order options * * @return array */ public function getOrderOptions() { $result = []; if ($options = $this->getItem()->getProductOptions()) { if (isset($options['options'])) { $result[] = $options['options']; } if (isset($options['additional_options'])) { $result[] = $options['additional_options']; } if (!empty($options['attributes_info'])) { $result[] = $options['attributes_info']; } } return array_merge([], ...$result); } /** * Return custom option html * * @param array $optionInfo * @return string */ public function getCustomizedOptionValue($optionInfo) { // render customized option view $_default = $optionInfo['value']; if (isset($optionInfo['option_type'])) { try { $group = $this->_optionFactory->create()->groupFactory($optionInfo['option_type']); return $group->getCustomizedView($optionInfo); } catch (\Exception $e) { return $_default; } } return $_default; } /** * Get sku * * @return string */ public function getSku() { return $this->getItem()->getSku(); } /** * Calculate total amount for the item * * @param QuoteItem|Item|InvoiceItem|CreditmemoItem $item * @return mixed */ public function getTotalAmount($item) { $totalAmount = $item->getRowTotal() - $item->getDiscountAmount(); return $totalAmount; } /** * Calculate base total amount for the item * * @param QuoteItem|Item|InvoiceItem|CreditmemoItem $item * @return mixed */ public function getBaseTotalAmount($item) { $baseTotalAmount = $item->getBaseRowTotal() - $item->getBaseDiscountAmount(); return $baseTotalAmount; } }