<?php
declare(strict_types=1);
namespace Tanmar\GoogleAdsTracking\Storefront\Page;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Shopware\Storefront\Event\StorefrontRenderEvent;
use Tanmar\GoogleAdsTracking\Storefront\BaseSubscriber;
use Tanmar\GoogleAdsTracking\Components\Helper\LoggerHelper;
use Tanmar\GoogleAdsTracking\Service\ConfigService;
use Tanmar\GoogleAdsTracking\Service\Article\ArticleIdentifierService;
class StorefrontRenderSubscriber extends BaseSubscriber implements EventSubscriberInterface {
public function __construct(ConfigService $configService, LoggerHelper $loggerHelper, ArticleIdentifierService $articleIdentifierService) {
parent::__construct($configService, $loggerHelper, $articleIdentifierService);
}
public static function getSubscribedEvents(): array {
return [
StorefrontRenderEvent::class => 'onStorefrontRender'
];
}
public function onStorefrontRender(StorefrontRenderEvent $event): void {
try {
$googleAdsData = $this->getExtension($event);
$this->addExtension($event, $googleAdsData);
} catch (\Throwable $e) {
$this->loggerHelper->logThrowable($e);
}
}
}