function FieldFormatterSettingsDefaults::transform

Same name and namespace in other branches
  1. 9 core/modules/field/src/Plugin/migrate/process/d6/FieldFormatterSettingsDefaults.php \Drupal\field\Plugin\migrate\process\d6\FieldFormatterSettingsDefaults::transform()
  2. 8.9.x core/modules/field/src/Plugin/migrate/process/d6/FieldFormatterSettingsDefaults.php \Drupal\field\Plugin\migrate\process\d6\FieldFormatterSettingsDefaults::transform()
  3. 11.x 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 22

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;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.