public function FieldOptionTranslation::transform in Drupal 10
Same name in this branch
- 10 core/modules/field/src/Plugin/migrate/process/d6/FieldOptionTranslation.php \Drupal\field\Plugin\migrate\process\d6\FieldOptionTranslation::transform()
- 10 core/modules/field/src/Plugin/migrate/process/d7/FieldOptionTranslation.php \Drupal\field\Plugin\migrate\process\d7\FieldOptionTranslation::transform()
Same name and namespace in other branches
- 8 core/modules/field/src/Plugin/migrate/process/d6/FieldOptionTranslation.php \Drupal\field\Plugin\migrate\process\d6\FieldOptionTranslation::transform()
- 9 core/modules/field/src/Plugin/migrate/process/d6/FieldOptionTranslation.php \Drupal\field\Plugin\migrate\process\d6\FieldOptionTranslation::transform()
Get the field default/mapped settings.
Overrides ProcessPluginBase::transform
File
- core/
modules/ field/ src/ Plugin/ migrate/ process/ d6/ FieldOptionTranslation.php, line 24
Class
- FieldOptionTranslation
- Determines the allowed values translation for select lists.
Namespace
Drupal\field\Plugin\migrate\process\d6Code
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
[
$field_type,
$global_settings,
] = $value;
$allowed_values = '';
$i = 0;
if (isset($global_settings['allowed_values'])) {
$list = explode("\n", $global_settings['allowed_values']);
$list = array_map('trim', $list);
$list = array_filter($list, 'strlen');
switch ($field_type) {
case 'list_string':
case 'list_integer':
case 'list_float':
// Remove the prefix used in the i18n_strings table for field options
// to get the option value.
$option = preg_replace('/^option_/', '', $row
->getSourceProperty('property'));
$i = 0;
foreach ($list as $allowed_value) {
// Get the key for this allowed value which may be a key|label pair
// or just key.
$value = explode("|", $allowed_value);
if (isset($value[0]) && $value[0] == $option) {
$allowed_values = [
'label' => $row
->getSourceProperty('translation'),
];
break;
}
$i++;
}
break;
default:
}
}
return [
"settings.allowed_values.{$i}",
$allowed_values,
];
}