custom/plugins/NetzpBlog6/src/SeoUrlRoute/BlogPostUpdater.php line 38

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace NetzpBlog6\SeoUrlRoute;
  3. use Shopware\Core\Content\Seo\SeoUrlUpdater;
  4. use Shopware\Core\Framework\DataAbstractionLayer\Event\EntityDeletedEvent;
  5. use Shopware\Core\Framework\DataAbstractionLayer\Event\EntityWrittenEvent;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. class BlogPostUpdater implements EventSubscriberInterface
  8. {
  9.     private $seoUrlUpdater;
  10.     public function __construct(SeoUrlUpdater $seoUrlUpdater)
  11.     {
  12.         $this->seoUrlUpdater $seoUrlUpdater;
  13.     }
  14.     public static function getSubscribedEvents()
  15.     {
  16.         return [
  17.             's_plugin_netzp_blog.written' => 'blogPostWritten',
  18.             's_plugin_netzp_blog.deleted' => 'blogPostDeleted',
  19.             BlogPostIndexerEvent::class   => 'handleIndexerEvent'
  20.         ];
  21.     }
  22.     public function blogPostWritten(EntityWrittenEvent $event)
  23.     {
  24.         $this->seoUrlUpdater->update(BlogPostSeoUrlRoute::ROUTE_NAME$event->getIds());
  25.     }
  26.     public function blogPostDeleted(EntityDeletedEvent $event)
  27.     {
  28.         $this->seoUrlUpdater->update(BlogPostSeoUrlRoute::ROUTE_NAME$event->getIds());
  29.     }
  30.     public function handleIndexerEvent(BlogPostIndexerEvent $event)
  31.     {
  32.         $this->seoUrlUpdater->update(BlogPostSeoUrlRoute::ROUTE_NAME$event->getIds());
  33.     }
  34. }