Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Sources.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
10 use Exception;
19 use Magento\ImportExport\Model\ResourceModel\CollectionByPagesIteratorFactory;
20 
24 class Sources extends AbstractEntity
25 {
29  private $attributeCollectionProvider;
30 
34  private $sourceItemCollectionFactory;
35 
39  private $columnProvider;
40 
51  public function __construct(
52  ScopeConfigInterface $scopeConfig,
54  ExportFactory $collectionFactory,
55  CollectionByPagesIteratorFactory $resourceColFactory,
56  AttributeCollectionProvider $attributeCollectionProvider,
57  SourceItemCollectionFactoryInterface $sourceItemCollectionFactory,
58  ColumnProviderInterface $columnProvider,
59  array $data = []
60  ) {
61  $this->attributeCollectionProvider = $attributeCollectionProvider;
62  $this->sourceItemCollectionFactory = $sourceItemCollectionFactory;
63  $this->columnProvider = $columnProvider;
64  parent::__construct($scopeConfig, $storeManager, $collectionFactory, $resourceColFactory, $data);
65  }
66 
71  public function getAttributeCollection()
72  {
73  return $this->attributeCollectionProvider->get();
74  }
75 
80  public function export()
81  {
82  $writer = $this->getWriter();
83  $writer->setHeaderCols($this->_getHeaderColumns());
84 
86  $collection = $this->sourceItemCollectionFactory->create(
87  $this->getAttributeCollection(),
88  $this->_parameters
89  );
90 
91  foreach ($collection->getData() as $data) {
93  $writer->writeRow($data);
94  }
95 
96  return $writer->getContents();
97  }
98 
103  protected function _getHeaderColumns()
104  {
105  return $this->columnProvider->getHeaders($this->getAttributeCollection(), $this->_parameters);
106  }
107 
112  public function exportItem($item)
113  {
114  // will not implement this method as it is legacy interface
115  }
116 
120  public function getEntityTypeCode()
121  {
122  return 'stock_sources';
123  }
124 
128  protected function _getEntityCollection()
129  {
130  // will not implement this method as it is legacy interface
131  }
132 }
$storeManager
__construct(ScopeConfigInterface $scopeConfig, StoreManagerInterface $storeManager, ExportFactory $collectionFactory, CollectionByPagesIteratorFactory $resourceColFactory, AttributeCollectionProvider $attributeCollectionProvider, SourceItemCollectionFactoryInterface $sourceItemCollectionFactory, ColumnProviderInterface $columnProvider, array $data=[])
Definition: Sources.php:51