src/EventListener/DocumentListener.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use Pimcore\AssetMetadataClassDefinitionsBundle\Model\Collections;
  4. use Pimcore\Cache;
  5. use Pimcore\Event\Model\AssetEvent;
  6. use Pimcore\Event\Model\DocumentEvent;
  7. use Pimcore\Event\Model\ElementEventInterface;
  8. use Pimcore\Model\Asset;
  9. use Pimcore\Model\DataObject\Contact;
  10. use Pimcore\Model\DataObject\Data\Hotspotimage;
  11. use Pimcore\Model\DataObject\MediaCopyright;
  12. use Pimcore\Model\DataObject\Region;
  13. use Pimcore\Model\DataObject\Service;
  14. use Pimcore\Model\DataObject\SiteConfig;
  15. use Pimcore\Model\Document\Page;
  16. class DocumentListener
  17. {
  18.     public function postUpdateAction(ElementEventInterface $e) {
  19.         if ($e instanceof DocumentEvent) {
  20.             $document $e->getDocument();
  21.             if($document instanceof Page) {
  22.                 $navRoot $document->getProperty'navigationRoot' );
  23.                 if($navRoot) {
  24.                     $config $navRoot->getProperty'siteConfig' );
  25.                     if($config instanceof SiteConfig) {
  26.                         Cache::remove('main_navigation_' $config->getId());
  27.                         return;
  28.                     }
  29.                 }
  30.                 Cache::clearTag('navigation');
  31.             }
  32.         }
  33.     }
  34. }