src/EventListener/DocumentSaveListener.php line 17

Open in your IDE?
  1. <?php
  2. /**
  3.  * This file is part of the Pimcore X Installation by
  4.  * ercas GmbH & CO. KG <https://www.ercasdieagentur.de>
  5.  *
  6.  *  @license GPLv3
  7.  */
  8. namespace App\EventListener;
  9. use Pimcore\Event\Model\DocumentEvent;
  10. use Pimcore\Model\Document\Page;
  11. class DocumentSaveListener
  12. {
  13.     public function updateKey(DocumentEvent $event)
  14.     {
  15.         $document $event->getDocument();
  16.         if ($document instanceof Page && !strlen($document->getTitle()) && $document->getTitle()) {
  17.             $document->setTitle($document->getTitle());
  18.         }
  19.         $document->setKey($this->sanitizeKey($document->getKey()));
  20.     }
  21.     public function sanitizeKey(string $str): string
  22.     {
  23.         $str trim(strtolower($str));
  24.         return str_replace(['----''---''--'], ['-''-''-'], $str);
  25.     }
  26. }