class FieldInstanceDefaults
Same name in this branch
- 11.x core/modules/field/src/Plugin/migrate/process/d7/FieldInstanceDefaults.php \Drupal\field\Plugin\migrate\process\d7\FieldInstanceDefaults
Determines the default field settings.
Attributes
#[MigrateProcess('d6_field_instance_defaults')]
Hierarchy
- class \Drupal\field\Plugin\migrate\process\d6\FieldInstanceDefaults implements \Drupal\migrate\ProcessPluginBase
Expanded class hierarchy of FieldInstanceDefaults
File
-
core/
modules/ field/ src/ Plugin/ migrate/ process/ d6/ FieldInstanceDefaults.php, line 15
Namespace
Drupal\field\Plugin\migrate\process\d6View source
class FieldInstanceDefaults extends ProcessPluginBase {
/**
* {@inheritdoc}
*
* Set the field instance defaults.
*/
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.