vendor/shopware/core/Checkout/Payment/DataAbstractionLayer/PaymentDistinguishableNameSubscriber.php line 22

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Shopware\Core\Checkout\Payment\DataAbstractionLayer;
  3. use Shopware\Core\Checkout\Payment\PaymentEvents;
  4. use Shopware\Core\Checkout\Payment\PaymentMethodEntity;
  5. use Shopware\Core\Framework\DataAbstractionLayer\Event\EntityLoadedEvent;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. /**
  8.  * @deprecated tag:v6.5.0 - reason:becomes-internal - EventSubscribers will become internal in v6.5.0
  9.  */
  10. class PaymentDistinguishableNameSubscriber implements EventSubscriberInterface
  11. {
  12.     public static function getSubscribedEvents(): array
  13.     {
  14.         return [
  15.             PaymentEvents::PAYMENT_METHOD_LOADED_EVENT => 'addDistinguishablePaymentName',
  16.         ];
  17.     }
  18.     public function addDistinguishablePaymentName(EntityLoadedEvent $event): void
  19.     {
  20.         /** @var PaymentMethodEntity $payment */
  21.         foreach ($event->getEntities() as $payment) {
  22.             if ($payment->getTranslation('distinguishableName') === null) {
  23.                 $payment->addTranslated('distinguishableName'$payment->getTranslation('name'));
  24.             }
  25.             if ($payment->getDistinguishableName() === null) {
  26.                 $payment->setDistinguishableName($payment->getName());
  27.             }
  28.         }
  29.     }
  30. }