custom/plugins/HuebertSeoUltimate/src/Subscriber/GenericPageSubscriber.php line 30

Open in your IDE?
  1. <?php
  2. namespace Huebert\SeoUltimate\Subscriber;
  3. use Shopware\Storefront\Page\GenericPageLoadedEvent;
  4. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  5. use Shopware\Core\System\SystemConfig\SystemConfigService;
  6. class GenericPageSubscriber implements EventSubscriberInterface
  7. {
  8.     /*
  9.      * @var SystemConfigService
  10.      */
  11.     private $systemConfig;
  12.     // add the `SystemConfigService` to your constructor
  13.     public function __construct(SystemConfigService $systemConfig)
  14.     {
  15.         $this->systemConfig $systemConfig;
  16.     }
  17.     public static function getSubscribedEvents(): array
  18.     {
  19.         return [
  20.             GenericPageLoadedEvent::class => 'onPageLoaded'
  21.         ];
  22.     }
  23.     public function onPageLoaded(GenericPageLoadedEvent $pageLoadedEvent) {
  24.         //assign HuebertSeoUltimate config keys
  25.         $config $this->systemConfig->get('HuebertSeoUltimate.config'$pageLoadedEvent->getSalesChannelContext()->getSalesChannel()->getId());
  26.         if($config) {$pageLoadedEvent->getPage()->assign(['HuebertSeoUltimate' => ['config' => $config]]);}
  27.         //assign newsletterPage ID
  28.         $newsletterConfig $this->systemConfig->get('core.basicInformation.newsletterPage'$pageLoadedEvent->getSalesChannelContext()->getSalesChannel()->getId());
  29.         if($newsletterConfig) {$pageLoadedEvent->getPage()->assign(['newsletterPage' => $newsletterConfig]);}
  30.     }
  31. }