You are here

public function FileExport::massageExportPropertyValue in Entity Export CSV 8

Massage the field item property value to CSV value.

Parameters

\Drupal\Core\Field\FieldItemInterface $field_item: The field item.

string $property_name: The property name.

\Drupal\Core\Field\FieldDefinitionInterface $field_definition: The field definition.

array $options: An array of optional options.

Return value

mixed The CSV value.

Overrides FieldTypeExportBase::massageExportPropertyValue

File

src/Plugin/FieldTypeExport/FileExport.php, line 44

Class

FileExport
Defines a File field type export plugin.

Namespace

Drupal\entity_export_csv\Plugin\FieldTypeExport

Code

public function massageExportPropertyValue(FieldItemInterface $field_item, $property_name, FieldDefinitionInterface $field_definition, $options = []) {
  if ($field_item
    ->isEmpty()) {
    return NULL;
  }
  $configuration = $this
    ->getConfiguration();
  if (empty($configuration['format'])) {
    return $field_item
      ->get($property_name)
      ->getValue();
  }
  $format = $configuration['format'];
  $entity = $field_item
    ->get('entity')
    ->getValue();
  if ($entity instanceof FileInterface && $property_name === 'target_id') {
    if ($format === 'filename') {
      return basename($entity
        ->getFileUri());
    }
    elseif ($format === 'uri') {
      return $entity
        ->getFileUri();
    }
  }
  return $field_item
    ->get($property_name)
    ->getValue();
}