/** * {@inheritdoc} */ public function getCartList(SearchCriteria $searchCriteria) { $this->searchResultsBuilder->setSearchCriteria($searchCriteria); foreach ($searchCriteria->getFilterGroups() as $group) { $this->addFilterGroupToCollection($group, $this->quoteCollection); } $this->searchResultsBuilder->setTotalCount($this->quoteCollection->getSize()); $sortOrders = $searchCriteria->getSortOrders(); if ($sortOrders) { foreach ($sortOrders as $field => $direction) { $this->quoteCollection->addOrder($this->getQuoteSearchField($field), $direction == SearchCriteria::SORT_ASC ? 'ASC' : 'DESC'); } } $this->quoteCollection->setCurPage($searchCriteria->getCurrentPage()); $this->quoteCollection->setPageSize($searchCriteria->getPageSize()); $cartList = []; /** @var Quote $quote */ foreach ($this->quoteCollection as $quote) { $cartList[] = $this->createCartDataObject($quote); } $this->searchResultsBuilder->setItems($cartList); return $this->searchResultsBuilder->create(); }