commerce_trustedshops-8.x-2.x-dev/src/Resolver/OrderLanguage/DefaultOrderLanguageResolver.php

src/Resolver/OrderLanguage/DefaultOrderLanguageResolver.php
<?php

namespace Drupal\commerce_trustedshops\Resolver\OrderLanguage;

use Drupal\commerce_order\Entity\OrderInterface;
use Drupal\commerce_trustedshops\Context;
use Drupal\Core\Language\Language;

/**
 * Provides the order language, taking it directly from the order entity.
 */
class DefaultOrderLanguageResolver implements OrderLanguageResolverInterface {

  /**
   * {@inheritdoc}
   */
  public function resolve(OrderInterface $order, ?Context $context = NULL) {
    $field_name = 'langcode';
    if ($context && $context->hasData('field_name')) {
      $field_name = $context->getData('field_name');
    }

    // When the field exists and is not empty, return the value.
    if ($order->hasField($field_name) && !$order->get($field_name)->isEmpty()) {
      return new Language(['id' => $order->get($field_name)->value]);
    }

    // When the field is the default langcode value, use the entity getter.
    return $order->language();
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc