27 private $storeManager;
37 private $searchCriteriaBuilder;
42 private $filterBuilder;
47 private $productRenderList;
52 private $actionsSynchronizer;
72 $this->hydrator = $hydrator;
74 $this->filterBuilder = $filterBuilder;
75 $this->productRenderList = $productRenderList;
76 $this->actionsSynchronizer = $actionsSynchronizer;
84 private function getProductIds()
88 $actionCollection = $this->actionsSynchronizer->getAllActions();
91 foreach ($actionCollection as $action) {
104 $store = $this->storeManager->getStore();
105 $filter = $this->filterBuilder
106 ->setField(
'entity_id')
107 ->setValue($this->getProductIds())
108 ->setConditionType(
'in')
111 ->addFilters([$filter])
113 $renderSearchResults = $this->productRenderList->getList(
116 $store->getCurrentCurrencyCode()
120 foreach ($renderSearchResults->getItems() as
$item) {
121 $sectionData[
$item->getId()] = $this->hydrator->extract(
$item);
__construct(StoreManager $storeManager, SearchCriteriaBuilder $searchCriteriaBuilder, FilterBuilder $filterBuilder, ProductRenderList $productRenderList, Synchronizer $actionsSynchronizer, Hydrator $hydrator)