vendor/dachcom-digital/seo/src/SeoBundle/EventListener/ElementMetaDataListener.php line 29

Open in your IDE?
  1. <?php
  2. namespace SeoBundle\EventListener;
  3. use Pimcore\Event\DocumentEvents;
  4. use Pimcore\Event\Model\DocumentEvent;
  5. use Pimcore\Event\DataObjectEvents;
  6. use Pimcore\Event\Model\DataObjectEvent;
  7. use SeoBundle\Manager\ElementMetaDataManagerInterface;
  8. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  9. class ElementMetaDataListener implements EventSubscriberInterface
  10. {
  11.     protected ElementMetaDataManagerInterface $elementMetaDataManager;
  12.     public function __construct(ElementMetaDataManagerInterface $elementMetaDataManager)
  13.     {
  14.         $this->elementMetaDataManager $elementMetaDataManager;
  15.     }
  16.     public static function getSubscribedEvents(): array
  17.     {
  18.         return [
  19.             DataObjectEvents::PRE_DELETE => 'handleObjectDeletion',
  20.             DocumentEvents::PRE_DELETE   => 'handleDocumentDeletion',
  21.         ];
  22.     }
  23.     public function handleDocumentDeletion(DocumentEvent $event): void
  24.     {
  25.         $this->elementMetaDataManager->deleteElementData('document'$event->getDocument()->getId());
  26.     }
  27.     public function handleObjectDeletion(DataObjectEvent $event): void
  28.     {
  29.         $this->elementMetaDataManager->deleteElementData('object'$event->getObject()->getId());
  30.     }
  31. }