class ContentTranslationEnabledSetting in Drupal 10
Same name and namespace in other branches
- 8 core/modules/language/src/Plugin/migrate/process/ContentTranslationEnabledSetting.php \Drupal\language\Plugin\migrate\process\ContentTranslationEnabledSetting
- 9 core/modules/language/src/Plugin/migrate/process/ContentTranslationEnabledSetting.php \Drupal\language\Plugin\migrate\process\ContentTranslationEnabledSetting
Determines the content translation setting.
The source value is an indexed array of three values:
- The language content type, e.g. '1'
- The entity_translation_entity_types, an array of entity types.
- An entity type used with entity translation, e.g. comment.
Plugin annotation
@MigrateProcessPlugin(
id = "content_translation_enabled_setting"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\migrate\ProcessPluginBase implements MigrateProcessInterface
- class \Drupal\language\Plugin\migrate\process\ContentTranslationEnabledSetting
- class \Drupal\migrate\ProcessPluginBase implements MigrateProcessInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of ContentTranslationEnabledSetting
File
- core/
modules/ language/ src/ Plugin/ migrate/ process/ ContentTranslationEnabledSetting.php, line 22
Namespace
Drupal\language\Plugin\migrate\processView source
class ContentTranslationEnabledSetting extends ProcessPluginBase {
/**
* {@inheritdoc}
*/
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
if (!is_array($value)) {
throw new MigrateException('Input should be an array');
}
[
$language_content_type,
$entity_translation_entity_types,
$entity_type,
] = $value;
switch ($language_content_type) {
// In the case of being 0, it will be skipped. We are not actually setting
// a null value.
case 0:
$setting = NULL;
break;
case 1:
$setting = FALSE;
break;
case 2:
$setting = FALSE;
break;
case 4:
// If entity translation is enabled return the status of comment
// translations.
$setting = FALSE;
if (!empty($entity_translation_entity_types[$entity_type])) {
$setting = TRUE;
}
break;
default:
$setting = NULL;
break;
}
return $setting;
}
}