CartEventSubscriber.php in Commerce Core 8.2
Namespace
Drupal\commerce_cart\EventSubscriberFile
modules/cart/src/EventSubscriber/CartEventSubscriber.phpView source
<?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(),
]));
}
}
Classes
Name | Description |
---|---|
CartEventSubscriber |