3 namespace Drupal\field\Plugin\migrate\process\d7;
5 use Drupal\migrate\MigrateExecutableInterface;
6 use Drupal\migrate\ProcessPluginBase;
7 use Drupal\migrate\Row;
10 * @MigrateProcessPlugin(
11 * id = "d7_field_instance_defaults"
14 class FieldInstanceDefaults extends ProcessPluginBase {
19 public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
20 list($default_value, $widget_settings) = $value;
21 $widget_type = $widget_settings['type'];
22 $default_value = $default_value ?: [];
24 // In Drupal 7, the default value for email fields is stored in the key
25 // 'email' while in Drupal 8 it is stored in the key 'value'.
26 if ($widget_type == 'email_textfield' && $default_value) {
27 $default_value[0]['value'] = $default_value[0]['email'];
28 unset($default_value[0]['email']);
31 return $default_value;