Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
BundleDataProvider.php
Go to the documentation of this file.
1 <?php
7 
8 use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory;
11 
13 {
17  protected $dataHelper;
18 
32  public function __construct(
33  $name,
36  CollectionFactory $collectionFactory,
38  array $meta = [],
39  array $data = [],
40  array $addFieldStrategies = [],
41  array $addFilterStrategies = []
42  ) {
43  parent::__construct(
44  $name,
47  $collectionFactory,
50  $meta,
51  $data
52  );
53 
54  $this->dataHelper = $dataHelper;
55  }
56 
62  public function getData()
63  {
64  if (!$this->getCollection()->isLoaded()) {
65  $this->getCollection()->addAttributeToFilter(
66  'type_id',
67  $this->dataHelper->getAllowedSelectionTypes()
68  );
69  $this->getCollection()->addFilterByRequiredOptions();
70  $this->getCollection()->addStoreFilter(
71  \Magento\Store\Model\Store::DEFAULT_STORE_ID
72  );
73  $this->getCollection()->load();
74  }
75  $items = $this->getCollection()->toArray();
76 
77  return [
78  'totalRecords' => $this->getCollection()->getSize(),
79  'items' => array_values($items),
80  ];
81  }
82 }
__construct( $name, $primaryFieldName, $requestFieldName, CollectionFactory $collectionFactory, Data $dataHelper, array $meta=[], array $data=[], array $addFieldStrategies=[], array $addFilterStrategies=[])
$items