src/EventListener/ObjectListener.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use App\Model\DataObject\Address;
  4. use Pimcore\Event\Model\ElementEventInterface;
  5. use Pimcore\Event\Model\DataObjectEvent;
  6. //use Pimcore\Model\DataObject\Books;
  7. use Pimcore\Model\DataObject;
  8. use App\Twig\Extension\Apik;
  9. class ObjectListener
  10. {
  11.     public function onPreUpdate(ElementEventInterface $e)
  12.     {
  13.         if ($e instanceof DataObjectEvent) {
  14.             $obj $e->getObject();
  15.             if($obj instanceof DataObject\News){
  16.                 $languages \Pimcore\Tool::getValidLanguages();
  17.                 foreach($languages as $lang) {
  18.                     if(!$obj->getSlug($lang) && $obj->getTitre($lang)){
  19.                         $slug Apik::toUrl($obj->getTitre($lang));
  20.                         $check DataObject\News::getBySlug($slug$lang)->load();
  21.                         if($check){
  22.                             $check $check[0];
  23.                             if($check->getId() != $obj->getId()){
  24.                                 $slug $slug."-".$obj->getId();
  25.                             }
  26.                         }
  27.                         $obj->setSlug($slug$lang);
  28.                     }
  29.                 }
  30.             }
  31.         }
  32.     }
  33.     public function onPostAdd(ElementEventInterface $e)
  34.     {
  35.         if ($e instanceof DataObjectEvent) {
  36.             $obj $e->getObject();
  37.             if($obj instanceof DataObject\News){
  38.                 $languages \Pimcore\Tool::getValidLanguages();
  39.                 foreach($languages as $lang) {
  40.                     if(!$obj->getSlug($lang) && $obj->getTitre($lang)){
  41.                         $slug Apik::toUrl($obj->getTitre($lang));
  42.                         $check DataObject\News::getBySlug($slug$lang)->load();
  43.                         if($check){
  44.                             $check $check[0];
  45.                             if($check->getId() != $obj->getId()){
  46.                                 $slug $slug."-".$obj->getId();
  47.                             }
  48.                         }
  49.                         $obj->setSlug($slug$lang);
  50.                     }
  51.                 }
  52.             }
  53.             $obj->save();
  54.         }
  55.     }
  56. }