custom/plugins/fourtwosixPopupsGenerator/src/fourtwosixPopupsGenerator.php line 11

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace fourtwosix\PopupsGenerator;
  3. use Shopware\Core\Framework\Plugin;
  4. use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria;
  5. use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter;
  6. use Shopware\Core\Framework\Plugin\Context\DeactivateContext;
  7. use Shopware\Core\Framework\Context;
  8. class fourtwosixPopupsGenerator extends Plugin
  9. {
  10.     public function deactivate(DeactivateContext $context): void
  11.     {
  12.         $this->deleteCmsElements($context->getContext());
  13.     }
  14.     
  15.     private function deleteCmsElements(Context $context) {
  16.         //delete all elements of popups
  17.         $cmsElementsRepo $this->container->get('cms_slot.repository');
  18.         
  19.         $criteria = new Criteria();
  20.         $criteria->addFilter(new EqualsFilter('type'"fourtwosix-popup"));
  21.         $results $cmsElementsRepo->search($criteria$context);
  22.         if($results != null){
  23.             $elements $results->getEntities();
  24.             foreach($elements as $element){
  25.                 $cmsElementsRepo->delete([['id' => $element->getId()]], $context);
  26.             }
  27.         }
  28.         
  29.         //delete all blocks of popups
  30.         $cmsBlockRepo $this->container->get('cms_block.repository');
  31.         
  32.         $criteria = new Criteria();
  33.         $criteria->addFilter(new EqualsFilter('type'"fourtwosix-popup-block"));
  34.         $results $cmsBlockRepo->search($criteria$context);
  35.         if($results != null){
  36.             $blocks $results->getEntities();
  37.             foreach($blocks as $block){
  38.                 $cmsBlockRepo->delete([['id' => $block->getId()]], $context);
  39.             }
  40.         }
  41.     }
  42. }