#[Route(path: '/store-api/product/{productId}/cross-selling', name: 'store-api.product.cross-selling', methods: ['POST'], defaults: ['_entity' => 'product'])]
public function load(string
$productId, Request
$request, SalesChannelContext
$context, Criteria
$criteria): ProductCrossSellingRouteResponse
{ $crossSellings =
$this->
loadCrossSellings($productId,
$context);
$elements =
new CrossSellingElementCollection();
foreach ($crossSellings as $crossSelling) { $clone =
clone $criteria;
if ($this->
useProductStream($crossSelling)) { $element =
$this->
loadByStream($crossSelling,
$context,
$clone);
} else { $element =
$this->
loadByIds($crossSelling,
$context,
$clone);
} $elements->
add($element);
} $this->eventDispatcher->
dispatch(new ProductCrossSellingsLoadedEvent($elements,
$context));
return new ProductCrossSellingRouteResponse($elements);
}