custom/plugins/CioFrontendCss/src/Subscriber/CioFrontendCssSubscriber.php line 31

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace CioFrontendCss\Subscriber;
  4. use Shopware\Core\System\SystemConfig\SystemConfigService;
  5. use Shopware\Storefront\Event\StorefrontRenderEvent;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. class CioFrontendCssSubscriber implements EventSubscriberInterface
  8. {
  9.     /**
  10.      * @var SystemConfigService
  11.      */
  12.     private SystemConfigService $systemConfigService;
  13.     public function __construct(SystemConfigService $systemConfigService)
  14.     {
  15.         $this->systemConfigService = $systemConfigService;
  16.     }
  17.     public static function getSubscribedEvents(): array
  18.     {
  19.         return [
  20.             StorefrontRenderEvent::class => 'onStorefrontRender'
  21.         ];
  22.     }
  23.     public function onStorefrontRender(StorefrontRenderEvent $event)
  24.     {
  25.         $moduleActive = $this->systemConfigService->get('CioFrontendCss.config.active', $event->getSalesChannelContext()->getSalesChannelId());
  26.         $cioFrontendCss = '';
  27.         $cioFrontendHeadHtml = '';
  28.         $cioFrontendFooterHtml = '';
  29.         if ($moduleActive) {
  30.             $cioFrontendCss = $this->systemConfigService->get('CioFrontendCss.config.cssStyles', $event->getSalesChannelContext()->getSalesChannelId());
  31.             $cioFrontendHeadHtml = $this->systemConfigService->get('CioFrontendCss.config.headHtmlCode', $event->getSalesChannelContext()->getSalesChannelId());
  32.             $cioFrontendFooterHtml = $this->systemConfigService->get('CioFrontendCss.config.footerHtmlCode', $event->getSalesChannelContext()->getSalesChannelId());
  33.         }
  34.         $event->setParameter('cioFrontendCssActive', $moduleActive);
  35.         $event->setParameter('cioFrontendCssStyles', $cioFrontendCss);
  36.         $event->setParameter('cioFrontendHeadHtml', $cioFrontendHeadHtml);
  37.         $event->setParameter('cioFrontendFooterHtml', $cioFrontendFooterHtml);
  38.     }
  39. }