<?php declare(strict_types=1);
namespace Samson\Subscriber;
/***
*
* This file is part of the "SAMSON Shop" project.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* (c) 2022
*
***/
use Shopware\Core\Content\Product\Events\ProductDetailRouteCacheKeyEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
/**
* @author Daniel Walter <daniel.walter@dkd.de>
*/
class ProductDetailRouteCacheKeySubscriber implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
return [
ProductDetailRouteCacheKeyEvent::class => 'enrich'
];
}
public function enrich(ProductDetailRouteCacheKeyEvent $event)
{
$request = $event->getRequest();
$serialNumber = $request->attributes->get('serialNumber');
$productNumber = $request->attributes->get('productNumber');
if($productNumber && $serialNumber) {
$parts = $event->getParts();
$parts[] = $productNumber . "-" . $serialNumber;
$event->setParts($parts);
}
}
}