You are here

public function FieldFormatterSettingsDefaults::transform in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/field/src/Plugin/migrate/process/d6/FieldFormatterSettingsDefaults.php \Drupal\field\Plugin\migrate\process\d6\FieldFormatterSettingsDefaults::transform()

Set field formatter settings when the map didn't map: for date formatters, the fallback format, for everything else, empty array.

Overrides ProcessPluginBase::transform

File

core/modules/field/src/Plugin/migrate/process/d6/FieldFormatterSettingsDefaults.php, line 24

Class

FieldFormatterSettingsDefaults
Set the default field settings.

Namespace

Drupal\field\Plugin\migrate\process\d6

Code

public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {

  // If the 1 index is set then the map missed.
  if (isset($value[1])) {
    $module = $row
      ->getSourceProperty('module');
    if ($module === 'date') {
      $value = [
        'format_type' => 'fallback',
      ];
    }
    elseif ($module === 'number') {

      // We have to do the lookup here in the process plugin because for
      // number we need to calculated the settings based on the type not just
      // the module which works well for other field types.
      return $this
        ->numberSettings($row
        ->getDestinationProperty('options/type'), $value[1]);
    }
    else {
      $value = [];
    }
  }
  return $value;
}