function FieldSettings::transform

Same name in this branch
  1. 9 core/modules/field/src/Plugin/migrate/process/d6/FieldSettings.php \Drupal\field\Plugin\migrate\process\d6\FieldSettings::transform()
Same name in other branches
  1. 8.9.x core/modules/field/src/Plugin/migrate/process/d6/FieldSettings.php \Drupal\field\Plugin\migrate\process\d6\FieldSettings::transform()
  2. 8.9.x core/modules/field/src/Plugin/migrate/process/d7/FieldSettings.php \Drupal\field\Plugin\migrate\process\d7\FieldSettings::transform()
  3. 10 core/modules/field/src/Plugin/migrate/process/d6/FieldSettings.php \Drupal\field\Plugin\migrate\process\d6\FieldSettings::transform()
  4. 10 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 19

Class

FieldSettings
Plugin annotation @MigrateProcessPlugin( id = "d7_field_settings" )

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.