private function loadCrossSellings(string
$productId, SalesChannelContext
$context): ProductCrossSellingCollection
{ $criteria =
new Criteria();
$criteria->
setTitle('product-cross-selling-route'
);
$criteria ->
addAssociation('assignedProducts'
) ->
addFilter(new EqualsFilter('product.id',
$productId)) ->
addFilter(new EqualsFilter('active', 1
)) ->
addSorting(new FieldSorting('position', FieldSorting::ASCENDING
));
$this->eventDispatcher->
dispatch( new ProductCrossSellingCriteriaLoadEvent($criteria,
$context) );
/** @var ProductCrossSellingCollection $crossSellings */
$crossSellings =
$this->crossSellingRepository
->
search($criteria,
$context->
getContext()) ->
getEntities();
return $crossSellings;
} private function loadByStream(ProductCrossSellingEntity
$crossSelling, SalesChannelContext
$context, Criteria
$criteria): CrossSellingElement
{