getProductNumbers example



    /** * Creates a search request on the internal search gateway to * get the product result for the passed criteria object. * * @return BatchProductSearchResult */
    public function search(BatchProductNumberSearchRequest $request, Struct\ShopContextInterface $context)
    {
        $searchResult = $this->productNumberSearch->search($request$context);
        $listProducts = $this->listProductService->getList($searchResult->getProductNumbers()$context);

        return $this->mapListProducts($searchResult$listProducts);
    }

    /** * @param ListProduct[] $listProducts * * @return BatchProductSearchResult */
    private function mapListProducts(BatchProductNumberSearchResult $searchResult, array $listProducts)
    {
        
/** * @return BatchProductNumberSearchResult */
    public function search(BatchProductNumberSearchRequest $request, ShopContextInterface $context)
    {
        // resolve product numbers of criteria objects and add them to the request         $criteriaListWithBaseProducts = $this->getBaseProductsByCriteriaList($request->getCriteriaList()$context);
        $baseProductList = $this->getBaseProductsByProductNumberRequest($request);

        $result = [];

        foreach ($request->getProductNumbers() as $key => $productNumbers) {
            $baseProducts = array_intersect_key($baseProductListarray_flip($productNumbers));
            $result[$key] = $baseProducts;
        }

        foreach ($criteriaListWithBaseProducts as $key => $baseProducts) {
            $result[$key] = $baseProducts;
        }

        return new BatchProductNumberSearchResult($result);
    }

    
Home | Imprint | This part of the site doesn't use cookies.