function FieldInstanceDefaults::transform

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

Set the field instance defaults.

Overrides ProcessPluginBase::transform

File

core/modules/field/src/Plugin/migrate/process/d6/FieldInstanceDefaults.php, line 23

Class

FieldInstanceDefaults
Plugin annotation @MigrateProcessPlugin( id = "d6_field_instance_defaults" )

Namespace

Drupal\field\Plugin\migrate\process\d6

Code

public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
    [
        $widget_type,
        $widget_settings,
    ] = $value;
    $default = [];
    switch ($widget_type) {
        case 'text_textfield':
        case 'number':
        case 'phone_textfield':
            if (!empty($widget_settings['default_value'][0]['value'])) {
                $default['value'] = $widget_settings['default_value'][0]['value'];
            }
            break;
        case 'imagefield_widget':
            // @todo, load the image and populate the defaults.
            // $default['default_image'] = $widget_settings['default_image'];
            break;
        case 'date_select':
            if (!empty($widget_settings['default_value'])) {
                $default['default_date_type'] = 'relative';
                $default['default_date'] = $widget_settings['default_value'];
            }
            break;
        case 'email_textfield':
            if (!empty($widget_settings['default_value'][0]['email'])) {
                $default['value'] = $widget_settings['default_value'][0]['email'];
            }
            break;
        case 'link':
            if (!empty($widget_settings['default_value'][0]['url'])) {
                $default['title'] = $widget_settings['default_value'][0]['title'];
                $default['uri'] = $widget_settings['default_value'][0]['url'];
                $default['options'] = [
                    'attributes' => [],
                ];
            }
            break;
    }
    if (!empty($default)) {
        $default = [
            $default,
        ];
    }
    return $default;
}

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