![]() 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/extmag/shiplab/Ui/Component/Listing/Column/ |
<?php /** * Copyright © Extmag. All rights reserved. */ namespace Extmag\Shiplab\Ui\Component\Listing\Column; use Extmag\Shiplab\Model\Label; use Extmag\Shiplab\Model\ResourceModel\Label\Collection; use Extmag\Shiplab\Model\ResourceModel\Label\CollectionFactory as LabelCollectionFactory; use Magento\Framework\View\Element\UiComponent\ContextInterface; use Magento\Framework\View\Element\UiComponentFactory; use Magento\Ui\Component\Listing\Columns\Column; class PickupTN extends Column { /** * @var LabelCollectionFactory */ protected $labelCollectionFactory; /** * @param ContextInterface $context * @param UiComponentFactory $uiComponentFactory * @param LabelCollectionFactory $labelCollectionFactory * @param array $components * @param array $data */ public function __construct( ContextInterface $context, UiComponentFactory $uiComponentFactory, LabelCollectionFactory $labelCollectionFactory, array $components = [], array $data = [] ) { parent::__construct($context, $uiComponentFactory, $components, $data); $this->labelCollectionFactory = $labelCollectionFactory; } /** * @inheritDoc */ public function prepareDataSource(array $dataSource) { if (isset($dataSource['data']['items'])) { foreach ($dataSource['data']['items'] as & $item) { $labelIds = explode(",", $item['label_ids']); $item['label_ids'] = ''; /** * @var Collection $collection */ $collection = $this->labelCollectionFactory->create(); $collection->addFieldToFilter('entity_id', ['in' => $labelIds]); if ($collection->count() > 0) { $item['label_ids'] = []; /** * @var Label $label */ foreach ($collection as $label) { $item['label_ids'][] = $label->getTrackingNumber(); } $item['label_ids'] = str_replace(",", ", ", implode(",", $item['label_ids'])); } } } return $dataSource; } }