class FieldFormatterSettingsDefaults
Same name in other branches
- 8.9.x core/modules/field/src/Plugin/migrate/process/d6/FieldFormatterSettingsDefaults.php \Drupal\field\Plugin\migrate\process\d6\FieldFormatterSettingsDefaults
- 10 core/modules/field/src/Plugin/migrate/process/d6/FieldFormatterSettingsDefaults.php \Drupal\field\Plugin\migrate\process\d6\FieldFormatterSettingsDefaults
- 11.x core/modules/field/src/Plugin/migrate/process/d6/FieldFormatterSettingsDefaults.php \Drupal\field\Plugin\migrate\process\d6\FieldFormatterSettingsDefaults
Set the default field settings.
Plugin annotation
@MigrateProcessPlugin(
id = "field_formatter_settings_defaults"
)
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\FieldFormatterSettingsDefaults 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 FieldFormatterSettingsDefaults
File
-
core/
modules/ field/ src/ Plugin/ migrate/ process/ d6/ FieldFormatterSettingsDefaults.php, line 16
Namespace
Drupal\field\Plugin\migrate\process\d6View source
class FieldFormatterSettingsDefaults extends ProcessPluginBase {
/**
* {@inheritdoc}
*
* Set field formatter settings when the map didn't map: for date
* formatters, the fallback format, for everything else, empty array.
*/
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
// If the 1 index is set then the map missed.
if (isset($value[1])) {
$module = $row->getSourceProperty('module');
if ($module === 'date') {
$value = [
'format_type' => 'fallback',
];
}
elseif ($module === 'number') {
// We have to do the lookup here in the process plugin because for
// number we need to calculated the settings based on the type not just
// the module which works well for other field types.
return $this->numberSettings($row->getDestinationProperty('options/type'), $value[1]);
}
else {
$value = [];
}
}
return $value;
}
/**
* @param string $type
* The field type.
* @param $format
* The format selected for the field on the display.
*
* @return array
* The correct default settings.
*
* @throws \Drupal\migrate\MigrateException
*/
protected function numberSettings($type, $format) {
$map = [
'number_decimal' => [
'us_0' => [
'scale' => 0,
'decimal_separator' => '.',
'thousand_separator' => ',',
'prefix_suffix' => TRUE,
],
'us_1' => [
'scale' => 1,
'decimal_separator' => '.',
'thousand_separator' => ',',
'prefix_suffix' => TRUE,
],
'us_2' => [
'scale' => 2,
'decimal_separator' => '.',
'thousand_separator' => ',',
'prefix_suffix' => TRUE,
],
'be_0' => [
'scale' => 0,
'decimal_separator' => ',',
'thousand_separator' => '.',
'prefix_suffix' => TRUE,
],
'be_1' => [
'scale' => 1,
'decimal_separator' => ',',
'thousand_separator' => '.',
'prefix_suffix' => TRUE,
],
'be_2' => [
'scale' => 2,
'decimal_separator' => ',',
'thousand_separator' => '.',
'prefix_suffix' => TRUE,
],
'fr_0' => [
'scale' => 0,
'decimal_separator' => ',',
'thousand_separator' => ' ',
'prefix_suffix' => TRUE,
],
'fr_1' => [
'scale' => 1,
'decimal_separator' => ',',
'thousand_separator' => ' ',
'prefix_suffix' => TRUE,
],
'fr_2' => [
'scale' => 2,
'decimal_separator' => ',',
'thousand_separator' => ' ',
'prefix_suffix' => TRUE,
],
],
'number_integer' => [
'us_0' => [
'thousand_separator' => ',',
'prefix_suffix' => TRUE,
],
'be_0' => [
'thousand_separator' => '.',
'prefix_suffix' => TRUE,
],
'fr_0' => [
'thousand_separator' => ' ',
'prefix_suffix' => TRUE,
],
],
];
return $map[$type][$format] ?? [];
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
FieldFormatterSettingsDefaults::numberSettings | protected | function | |||
FieldFormatterSettingsDefaults::transform | public | function | Set field formatter settings when the map didn't map: for date formatters, the fallback format, for everything else, empty array. |
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.