<?php
declare(strict_types=1);
namespace SwagHoggi\Service;
use Shopware\Core\Content\Seo\SeoUrlUpdater;
use Shopware\Core\Framework\DataAbstractionLayer\Event\EntityDeletedEvent;
use Shopware\Core\Framework\DataAbstractionLayer\Event\EntityWrittenEvent;
use SwagHoggi\Storefront\Framework\Seo\SeoUrlRoute\HoggiConfiguratorPageSeoUrlRoute;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class DynamicSeoUrlPageSubscriber implements EventSubscriberInterface
{
private SeoUrlUpdater $seoUrlUpdater;
public function __construct(SeoUrlUpdater $seoUrlUpdater) {
$this->seoUrlUpdater = $seoUrlUpdater;
}
public static function getSubscribedEvents(): array
{
return [
'hoggi_configurator.written' => 'onEntityWritten',
'swag_example.deleted' => 'onEntityDeleted'
];
}
public function onEntityWritten(EntityWrittenEvent $event): void
{
$this->seoUrlUpdater->update(HoggiConfiguratorPageSeoUrlRoute::ROUTE_NAME, $event->getIds());
}
public function onEntityDeleted(EntityDeletedEvent $event): void
{
$this->seoUrlUpdater->update(HoggiConfiguratorPageSeoUrlRoute::ROUTE_NAME, $event->getIds());
}
}