blacksmith-8.x-1.x-dev/src/BlacksmithTranslation.php

src/BlacksmithTranslation.php
<?php

namespace Drupal\blacksmith;

/**
 * Class BlacksmithTranslation.
 *
 * @package Drupal\blacksmith
 */
class BlacksmithTranslation {

  /**
   * Blacksmith translation language.
   *
   * @var string
   */
  protected $langcode;

  /**
   * Data taken from the Yaml file.
   *
   * @var array
   */
  protected $originalData;

  /**
   * BlacksmithItem constructor.
   *
   * @param string $langcode
   *   The language of this Blacksmith Item translation.
   * @param array $data
   *   Data from the Blacksmith source file.
   */
  public function __construct($langcode, array $data) {
    $this->langcode = $langcode;
    $this->originalData = $data;
  }

  /**
   * Get the translation's label.
   *
   * @return string|null
   *   The bundle machine name.
   */
  public function label() : ?string {
    $labelKeys = ['label', 'title', 'name'];

    foreach ($labelKeys as $labelKey) {
      if (isset($this->originalData[$labelKey])) {
        return $this->originalData[$labelKey];
      }
    }

    return NULL;
  }

  /**
   * Returns the langcode of this translation.
   *
   * @return string
   *   Language unique identifier.
   */
  public function langcode() : string {
    return $this->langcode;
  }

  /**
   * Get a single value from the original data.
   *
   * @param string $fieldName
   *   The field name key.
   *
   * @return string|array
   *   A single value the list of values.
   */
  public function get($fieldName) {
    return $this->originalData[$fieldName] ?? NULL;
  }

}

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

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