public function FieldInstanceSettings::transform in Drupal 8
Same name in this branch
- 8 core/modules/field/src/Plugin/migrate/process/d6/FieldInstanceSettings.php \Drupal\field\Plugin\migrate\process\d6\FieldInstanceSettings::transform()
- 8 core/modules/field/src/Plugin/migrate/process/d7/FieldInstanceSettings.php \Drupal\field\Plugin\migrate\process\d7\FieldInstanceSettings::transform()
Same name and namespace in other branches
- 9 core/modules/field/src/Plugin/migrate/process/d6/FieldInstanceSettings.php \Drupal\field\Plugin\migrate\process\d6\FieldInstanceSettings::transform()
- 10 core/modules/field/src/Plugin/migrate/process/d6/FieldInstanceSettings.php \Drupal\field\Plugin\migrate\process\d6\FieldInstanceSettings::transform()
Set the field instance defaults.
Overrides ProcessPluginBase::transform
File
- core/
modules/ field/ src/ Plugin/ migrate/ process/ d6/ FieldInstanceSettings.php, line 21
Class
- FieldInstanceSettings
- Plugin annotation @MigrateProcessPlugin( id = "d6_field_field_settings" )
Namespace
Drupal\field\Plugin\migrate\process\d6Code
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
list($widget_type, $widget_settings, $field_settings) = $value;
$settings = [];
switch ($widget_type) {
case 'number':
$settings['min'] = $field_settings['min'];
$settings['max'] = $field_settings['max'];
$settings['prefix'] = $field_settings['prefix'];
$settings['suffix'] = $field_settings['suffix'];
break;
case 'link':
// $settings['url'] = $widget_settings['default_value'][0]['url'];
// D6 has optional, required, value and none. D8 only has disabled (0)
// optional (1) and required (2).
$map = [
'disabled' => 0,
'optional' => 1,
'required' => 2,
];
$settings['title'] = $map[$field_settings['title']];
break;
case 'filefield_widget':
$settings['file_extensions'] = $widget_settings['file_extensions'];
$settings['file_directory'] = $widget_settings['file_path'];
$settings['description_field'] = $field_settings['description_field'];
$settings['max_filesize'] = $this
->convertSizeUnit($widget_settings['max_filesize_per_file']);
break;
case 'imagefield_widget':
$settings['file_extensions'] = $widget_settings['file_extensions'];
$settings['file_directory'] = $widget_settings['file_path'];
$settings['max_filesize'] = $this
->convertSizeUnit($widget_settings['max_filesize_per_file']);
$settings['alt_field'] = $widget_settings['alt'];
$settings['alt_field_required'] = $widget_settings['custom_alt'];
$settings['title_field'] = $widget_settings['title'];
$settings['title_field_required'] = $widget_settings['custom_title'];
// With nothing entered for min or max resolution in Drupal 6, zero is
// stored. For Drupal 8 this should be an empty string.
$settings['max_resolution'] = !empty($widget_settings['max_resolution']) ? $widget_settings['max_resolution'] : '';
$settings['min_resolution'] = !empty($widget_settings['min_resolution']) ? $widget_settings['min_resolution'] : '';
break;
}
return $settings;
}