custom/plugins/DmitsInfoFlag/src/Storefront/Subscriber/FooterSubscriber.php line 38

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Dmits\InfoFlag\Storefront\Subscriber;
  3. use Dmits\InfoFlag\Struct\InfoFlag;
  4. use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria;
  5. use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter;
  6. use Shopware\Core\Framework\DataAbstractionLayer\Search\Sorting\FieldSorting;
  7. use Shopware\Core\System\SystemConfig\SystemConfigService;
  8. use Shopware\Storefront\Pagelet\Footer\FooterPageletLoadedEvent;
  9. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  10. class FooterSubscriber implements EventSubscriberInterface
  11. {
  12.     /**
  13.      * @var SystemConfigService
  14.      */
  15.     private $systemConfigService;
  16.     
  17.     /**
  18.      * @var EntityRepositoryInterface
  19.      */
  20.     private $infoFlagRepository;
  21.     
  22.     public function __construct(
  23.         SystemConfigService $systemConfigService
  24.         ) {
  25.             $this->systemConfigService $systemConfigService;
  26.     }
  27.     
  28.     public static function getSubscribedEvents(): array
  29.     {
  30.         return [
  31.             FooterPageletLoadedEvent::class => 'onFooterPageletLoaded',
  32.         ];
  33.     }
  34.     
  35.     public function onFooterPageletLoaded(FooterPageletLoadedEvent $event): void
  36.     {
  37.             $infoflag = new InfoFlag();
  38.             $infoflag->setActive($this->systemConfigService->getBool('DmitsInfoFlag.config.active'));
  39.             $infoflag->setPosition($this->systemConfigService->getString('DmitsInfoFlag.config.position'));
  40.             $infoflag->setWidth($this->systemConfigService->getString('DmitsInfoFlag.config.width'));
  41.             $infoflag->setHeight($this->systemConfigService->getString('DmitsInfoFlag.config.height'));
  42.             $infoflag->setTextcolor($this->systemConfigService->getString('DmitsInfoFlag.config.textcolor'));
  43.             $infoflag->setBgcolor($this->systemConfigService->getString('DmitsInfoFlag.config.bgcolor'));
  44.             $infoflag->setClosetextcolor($this->systemConfigService->getString('DmitsInfoFlag.config.closetextcolor'));
  45.             $infoflag->setClosebgcolor($this->systemConfigService->getString('DmitsInfoFlag.config.closebgcolor'));
  46.             $infoflag->setCloseborderradius($this->systemConfigService->getString('DmitsInfoFlag.config.closeborderradius'));
  47.             $infoflag->setClosetime($this->systemConfigService->getString('DmitsInfoFlag.config.closetime'));
  48.             $infoflag->setContentpadding($this->systemConfigService->getString('DmitsInfoFlag.config.contentpadding'));
  49.             
  50.             $infoflag->setBorder($this->systemConfigService->getBool('DmitsInfoFlag.config.border'));
  51.             $infoflag->setClose($this->systemConfigService->getBool('DmitsInfoFlag.config.close'));
  52.             $infoflag->setContent($this->systemConfigService->getString('DmitsInfoFlag.config.content'));
  53.             
  54.             $infoflag->setMobile($this->systemConfigService->getBool('DmitsInfoFlag.config.mobile'));
  55.             $infoflag->setMobileland($this->systemConfigService->getBool('DmitsInfoFlag.config.mobileland'));
  56.             $infoflag->setTablet($this->systemConfigService->getBool('DmitsInfoFlag.config.tablet'));
  57.             $infoflag->setTabletland($this->systemConfigService->getBool('DmitsInfoFlag.config.tabletland'));
  58.             $infoflag->setDesktop($this->systemConfigService->getBool('DmitsInfoFlag.config.desktop'));
  59.             $event->getPagelet()->addExtension('dmitsInfoFlag'$infoflag);
  60.     }
  61. }