function ContentTranslationHooks::entityExtraFieldInfo
Same name and namespace in other branches
- 11.x core/modules/content_translation/src/Hook/ContentTranslationHooks.php \Drupal\content_translation\Hook\ContentTranslationHooks::entityExtraFieldInfo()
Implements hook_entity_extra_field_info().
Attributes
#[Hook('entity_extra_field_info')]
File
-
core/
modules/ content_translation/ src/ Hook/ ContentTranslationHooks.php, line 426
Class
- ContentTranslationHooks
- Hook implementations for content_translation.
Namespace
Drupal\content_translation\HookCode
public function entityExtraFieldInfo() : array {
// Inline the logic from ContentTranslationManager::isEnabled() to avoid
// having to load configuration entities one by one.
$extra = [];
$content_translation_manager = \Drupal::service('content_translation.manager');
$entity_type_manager = \Drupal::entityTypeManager();
$ids = [];
foreach (\Drupal::entityTypeManager()->getDefinitions() as $entity_type => $info) {
if ($content_translation_manager->isSupported($entity_type)) {
foreach ($info as $bundle => $bundle_info) {
$ids[] = $entity_type . '.' . $bundle;
}
}
}
$settings = $entity_type_manager->getStorage('language_content_settings')
->loadMultiple($ids);
foreach ($settings as $config) {
if ($config->getThirdPartySetting('content_translation', 'enabled', FALSE)) {
$extra[$config->get('target_entity_type_id')][$config->get('target_bundle')]['form']['translation'] = [
'label' => $this->t('Translation'),
'description' => $this->t('Translation settings'),
'weight' => 10,
];
}
}
return $extra;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.