custom/plugins/NimbitsLazyLoadingNext/src/Subscriber/Subscriber.php line 47

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Nimbits\NimbitsLazyLoadingNext\Subscriber;
  3. use Shopware\Core\Framework\DataAbstractionLayer\Event\EntityLoadedEvent;
  4. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  5. use Shopware\Core\Content\Product\ProductEvents;
  6. use Shopware\Core\Framework\DataAbstractionLayer\Search\Criteria;
  7. use Shopware\Storefront\Page\Product\ProductPageLoadedEvent;
  8. use Shopware\Core\Content\Cms\CmsPageEntity;
  9. use Symfony\Component\HttpKernel\KernelEvents;
  10. use Symfony\Component\HttpKernel\Event\KernelEvent;
  11. use Shopware\Storefront\Event\StorefrontRenderEvent;
  12. use Shopware\Storefront\Pagelet\Footer\FooterPageletLoadedEvent;
  13. use Nimbits\NimbitsLazyLoadingNext\Setting\Service\SettingService;
  14. use Shopware\Core\Framework\Struct\ArrayEntity;
  15. use Shopware\Core\Framework\DataAbstractionLayer\EntityRepositoryInterface;
  16. use Shopware\Core\System\SalesChannel\Entity\SalesChannelEntityLoadedEvent;
  17. use Shopware\Core\Framework\DataAbstractionLayer\Search\Filter\EqualsFilter;
  18. use Shopware\Core\Framework\Struct\StructCollection;
  19. use Shopware\Core\Content\Product\SalesChannel\SalesChannelProductEntity;
  20. use Shopware\Core\Content\Media\DataAbstractionLayer\MediaRepositoryDecorator;
  21. class Subscriber implements EventSubscriberInterface
  22. {
  23.     
  24.     /** @var SettingService $settingsService */
  25.     protected $settingsService;
  26.     public function __construct(
  27.         SettingService $settingsService
  28.     
  29.     {
  30.         $this->settingsService $settingsService;
  31.     }
  32.     
  33.     public static function getSubscribedEvents(): array
  34.     {
  35.         // Return the events to listen to as array like this:  <event to listen to> => <method to execute>
  36.         return [
  37.             FooterPageletLoadedEvent::class => 'onFooterLoaded'
  38.         ];
  39.     }
  40.     
  41.     public function onFooterLoaded(FooterPageletLoadedEvent $event)
  42.     {
  43.         $event->getPagelet()->addExtension('nimbitsLazyLoadingSettings'
  44.             $this->settingsService->getSettingsAsStruct($event->getSalesChannelContext()->getSalesChannel()->getId())
  45.         );
  46.         
  47.     }
  48.     
  49.     
  50.     
  51.     
  52. }
  53. ?>