class FieldInstanceSettings
Same name in this branch
- 9 core/modules/field/src/Plugin/migrate/process/d7/FieldInstanceSettings.php \Drupal\field\Plugin\migrate\process\d7\FieldInstanceSettings
Same name in other branches
- 8.9.x core/modules/field/src/Plugin/migrate/process/d6/FieldInstanceSettings.php \Drupal\field\Plugin\migrate\process\d6\FieldInstanceSettings
- 8.9.x core/modules/field/src/Plugin/migrate/process/d7/FieldInstanceSettings.php \Drupal\field\Plugin\migrate\process\d7\FieldInstanceSettings
- 10 core/modules/field/src/Plugin/migrate/process/d6/FieldInstanceSettings.php \Drupal\field\Plugin\migrate\process\d6\FieldInstanceSettings
- 10 core/modules/field/src/Plugin/migrate/process/d7/FieldInstanceSettings.php \Drupal\field\Plugin\migrate\process\d7\FieldInstanceSettings
- 11.x core/modules/field/src/Plugin/migrate/process/d6/FieldInstanceSettings.php \Drupal\field\Plugin\migrate\process\d6\FieldInstanceSettings
- 11.x core/modules/field/src/Plugin/migrate/process/d7/FieldInstanceSettings.php \Drupal\field\Plugin\migrate\process\d7\FieldInstanceSettings
Plugin annotation
@MigrateProcessPlugin(
id = "d6_field_field_settings"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
- class \Drupal\migrate\ProcessPluginBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\migrate\Plugin\MigrateProcessInterface
- class \Drupal\field\Plugin\migrate\process\d6\FieldInstanceSettings extends \Drupal\migrate\ProcessPluginBase
- class \Drupal\migrate\ProcessPluginBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\migrate\Plugin\MigrateProcessInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
Expanded class hierarchy of FieldInstanceSettings
1 file declares its use of FieldInstanceSettings
- FieldInstanceSettingsTest.php in core/
modules/ field/ tests/ src/ Unit/ Plugin/ migrate/ process/ d6/ FieldInstanceSettingsTest.php
File
-
core/
modules/ field/ src/ Plugin/ migrate/ process/ d6/ FieldInstanceSettings.php, line 16
Namespace
Drupal\field\Plugin\migrate\process\d6View source
class FieldInstanceSettings extends ProcessPluginBase {
/**
* {@inheritdoc}
*
* Set the field instance defaults.
*/
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
[
$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;
}
/**
* Convert file size strings into their D8 format.
*
* D6 stores file size using a "K" for kilobytes and "M" for megabytes where
* as D8 uses "KB" and "MB" respectively.
*
* @param string $size_string
* The size string, eg 10M
*
* @return string
* The D8 version of the size string.
*/
protected function convertSizeUnit($size_string) {
$size_unit = substr($size_string, strlen($size_string) - 1);
if ($size_unit == "M" || $size_unit == "K") {
return $size_string . "B";
}
return $size_string;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
FieldInstanceSettings::convertSizeUnit | protected | function | Convert file size strings into their D8 format. | ||
FieldInstanceSettings::transform | public | function | Set the field instance defaults. | Overrides ProcessPluginBase::transform | |
PluginInspectionInterface::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | 6 | |
PluginInspectionInterface::getPluginId | public | function | Gets the plugin_id of the plugin instance. | 2 | |
ProcessPluginBase::multiple | public | function | Indicates whether the returned value requires multiple handling. | Overrides MigrateProcessInterface::multiple | 3 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.