function FieldSettings::transform

Same name in this branch
  1. 10 core/modules/field/src/Plugin/migrate/process/d6/FieldSettings.php \Drupal\field\Plugin\migrate\process\d6\FieldSettings::transform()
Same name and namespace in other branches
  1. 9 core/modules/field/src/Plugin/migrate/process/d6/FieldSettings.php \Drupal\field\Plugin\migrate\process\d6\FieldSettings::transform()
  2. 9 core/modules/field/src/Plugin/migrate/process/d7/FieldSettings.php \Drupal\field\Plugin\migrate\process\d7\FieldSettings::transform()
  3. 8.9.x core/modules/field/src/Plugin/migrate/process/d6/FieldSettings.php \Drupal\field\Plugin\migrate\process\d6\FieldSettings::transform()
  4. 8.9.x core/modules/field/src/Plugin/migrate/process/d7/FieldSettings.php \Drupal\field\Plugin\migrate\process\d7\FieldSettings::transform()
  5. 11.x core/modules/field/src/Plugin/migrate/process/d6/FieldSettings.php \Drupal\field\Plugin\migrate\process\d6\FieldSettings::transform()
  6. 11.x core/modules/field/src/Plugin/migrate/process/d7/FieldSettings.php \Drupal\field\Plugin\migrate\process\d7\FieldSettings::transform()

Overrides ProcessPluginBase::transform

File

core/modules/field/src/Plugin/migrate/process/d7/FieldSettings.php, line 16

Class

FieldSettings

Namespace

Drupal\field\Plugin\migrate\process\d7

Code

public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
  $value = $row->getSourceProperty('settings');
  switch ($row->getSourceProperty('type')) {
    case 'image':
      if (!is_array($value['default_image'])) {
        $value['default_image'] = [
          'uuid' => '',
        ];
      }
      break;

    case 'date':
    case 'datetime':
    case 'datestamp':
      $collected_date_attributes = is_numeric(array_keys($value['granularity'])[0]) ? $value['granularity'] : array_keys(array_filter($value['granularity']));
      if (empty(array_intersect($collected_date_attributes, [
        'hour',
        'minute',
        'second',
      ]))) {
        $value['datetime_type'] = 'date';
      }
      break;

    case 'taxonomy_term_reference':
      $value['target_type'] = 'taxonomy_term';
      break;

    case 'user_reference':
      $value['target_type'] = 'user';
      break;

    default:
      break;

  }
  return $value;
}

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