data_pipelines-1.x-dev/src/Traits/FieldValueTrait.php

src/Traits/FieldValueTrait.php
<?php

declare(strict_types=1);

namespace Drupal\data_pipelines\Traits;

use Drupal\Core\Entity\ContentEntityInterface;

/**
 * A trait for getting a field value from an entity.
 */
trait FieldValueTrait {

  /**
   * A method to get a field value from an entity.
   *
   * @param \Drupal\Core\Entity\ContentEntityInterface $entity
   *   The entity.
   * @param string $field_name
   *   The field name.
   * @param string|null $main_property_name
   *   The main property name.
   *
   * @return mixed
   *   The field value.
   */
  public static function getFieldValue(ContentEntityInterface $entity, string $field_name, ?string $main_property_name = NULL) {
    /** @var \Drupal\Core\Field\BaseFieldDefinition $field_definition */
    $field_definition = $entity->{$field_name}->getFieldDefinition();
    $main_property_name = $main_property_name ?? $field_definition->getMainPropertyName();
    return $entity->{$field_name}->{$main_property_name};
  }

}

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

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