google_tag-8.x-1.x-dev/src/EventSubscriber/CommerceWishlistSubscriber.php
src/EventSubscriber/CommerceWishlistSubscriber.php
<?php
declare(strict_types=1);
namespace Drupal\google_tag\EventSubscriber;
use Drupal\commerce_wishlist\Event\WishlistEntityAddEvent;
use Drupal\commerce_wishlist\Event\WishlistEvents;
use Drupal\google_tag\EventCollectorInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
/**
* Commerce wishlist event subscriber.
*/
final class CommerceWishlistSubscriber implements EventSubscriberInterface {
/**
* The Event Collector.
*
* @var \Drupal\google_tag\EventCollectorInterface
*/
private EventCollectorInterface $eventCollector;
/**
* CommerceWishlistSubscriber constructor.
*
* @param \Drupal\google_tag\EventCollectorInterface $eventCollector
* Collector.
*/
public function __construct(EventCollectorInterface $eventCollector) {
$this->eventCollector = $eventCollector;
}
/**
* {@inheritDoc}
*/
public static function getSubscribedEvents(): array {
return [
WishlistEvents::WISHLIST_ENTITY_ADD => 'onAdd',
];
}
/**
* Fires wish list event on wishlist addition.
*
* @param \Drupal\commerce_wishlist\Event\WishlistEntityAddEvent $event
* Event object.
*/
public function onAdd(WishlistEntityAddEvent $event): void {
$this->eventCollector->addEvent(
'commerce_add_to_wishlist',
['item' => $event->getWishlistItem()]
);
}
}
