FieldOptionTranslation.php
Same filename in this branch
Same filename in other branches
- 8.9.x core/modules/field/src/Plugin/migrate/source/d6/FieldOptionTranslation.php
- 8.9.x core/modules/field/src/Plugin/migrate/source/d7/FieldOptionTranslation.php
- 8.9.x core/modules/field/src/Plugin/migrate/process/d6/FieldOptionTranslation.php
- 8.9.x core/modules/field/src/Plugin/migrate/process/d7/FieldOptionTranslation.php
- 10 core/modules/field/src/Plugin/migrate/source/d6/FieldOptionTranslation.php
- 10 core/modules/field/src/Plugin/migrate/source/d7/FieldOptionTranslation.php
- 10 core/modules/field/src/Plugin/migrate/process/d6/FieldOptionTranslation.php
- 10 core/modules/field/src/Plugin/migrate/process/d7/FieldOptionTranslation.php
- 11.x core/modules/field/src/Plugin/migrate/source/d6/FieldOptionTranslation.php
- 11.x core/modules/field/src/Plugin/migrate/source/d7/FieldOptionTranslation.php
- 11.x core/modules/field/src/Plugin/migrate/process/d6/FieldOptionTranslation.php
- 11.x core/modules/field/src/Plugin/migrate/process/d7/FieldOptionTranslation.php
Namespace
Drupal\field\Plugin\migrate\process\d6File
-
core/
modules/ field/ src/ Plugin/ migrate/ process/ d6/ FieldOptionTranslation.php
View source
<?php
namespace Drupal\field\Plugin\migrate\process\d6;
use Drupal\migrate\MigrateExecutableInterface;
use Drupal\migrate\ProcessPluginBase;
use Drupal\migrate\Row;
/**
* Determines the allowed values translation for select lists.
*
* @MigrateProcessPlugin(
* id = "d6_field_option_translation",
* handle_multiples = TRUE
* )
*/
class FieldOptionTranslation extends ProcessPluginBase {
/**
* {@inheritdoc}
*
* Get the field default/mapped settings.
*/
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,
];
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
FieldOptionTranslation | Determines the allowed values translation for select lists. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.