return CacheValueCompressor::
uncompress($value);
} private function generateKey(string
$productId, Request
$request, SalesChannelContext
$context, Criteria
$criteria): ?string
{ $parts =
[ $this->generator->
getCriteriaHash($criteria),
$this->generator->
getSalesChannelContextHash($context,
[RuleAreas::PRODUCT_AREA
]),
];
$event =
new CrossSellingRouteCacheKeyEvent($productId,
$parts,
$request,
$context,
$criteria);
$this->dispatcher->
dispatch($event);
if (!
$event->
shouldCache()) { return null;
} return self::
buildName($productId) . '-' .
md5(Json::
encode($event->
getParts()));
} /**
* @return array<string>
*/