commerce-8.x-2.8/modules/cart/src/EventSubscriber/CartEventSubscriber.php
modules/cart/src/EventSubscriber/CartEventSubscriber.php
<?php namespace Drupal\commerce_cart\EventSubscriber; use Drupal\Core\Messenger\MessengerInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Drupal\commerce_cart\Event\CartEntityAddEvent; use Drupal\commerce_cart\Event\CartEvents; use Drupal\Core\StringTranslation\StringTranslationTrait; use Drupal\Core\StringTranslation\TranslationInterface; use Drupal\Core\Url; class CartEventSubscriber implements EventSubscriberInterface { use StringTranslationTrait; /** * The messenger. * * @var \Drupal\Core\Messenger\MessengerInterface */ protected $messenger; /** * Constructs a new CartEventSubscriber object. * * @param \Drupal\Core\Messenger\MessengerInterface $messenger * The messenger. * @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation * The string translation. */ public function __construct(MessengerInterface $messenger, TranslationInterface $string_translation) { $this->messenger = $messenger; $this->stringTranslation = $string_translation; } /** * {@inheritdoc} */ public static function getSubscribedEvents() { $events = [ CartEvents::CART_ENTITY_ADD => 'displayAddToCartMessage', ]; return $events; } /** * Displays an add to cart message. * * @param \Drupal\commerce_cart\Event\CartEntityAddEvent $event * The add to cart event. */ public function displayAddToCartMessage(CartEntityAddEvent $event) { $this->messenger->addMessage($this->t('@entity added to <a href=":url">your cart</a>.', [ '@entity' => $event->getEntity()->label(), ':url' => Url::fromRoute('commerce_cart.page')->toString(), ])); } }