function content_translation_form_field_config_edit_form_alter
Same name in other branches
- 8.9.x core/modules/content_translation/content_translation.module \content_translation_form_field_config_edit_form_alter()
- 10 core/modules/content_translation/content_translation.module \content_translation_form_field_config_edit_form_alter()
- 11.x core/modules/content_translation/content_translation.module \content_translation_form_field_config_edit_form_alter()
Implements hook_form_FORM_ID_alter() for 'field_config_edit_form'.
File
-
core/
modules/ content_translation/ content_translation.module, line 486
Code
function content_translation_form_field_config_edit_form_alter(array &$form, FormStateInterface $form_state) {
$field = $form_state->getFormObject()
->getEntity();
$bundle_is_translatable = \Drupal::service('content_translation.manager')->isEnabled($field->getTargetEntityTypeId(), $field->getTargetBundle());
$form['translatable'] = [
'#type' => 'checkbox',
'#title' => t('Users may translate this field'),
'#default_value' => $field->isTranslatable(),
'#weight' => -1,
'#disabled' => !$bundle_is_translatable,
'#access' => $field->getFieldStorageDefinition()
->isTranslatable(),
];
// Provide helpful pointers for administrators.
if (\Drupal::currentUser()->hasPermission('administer content translation') && !$bundle_is_translatable) {
$toggle_url = Url::fromRoute('language.content_settings_page', [], [
'query' => \Drupal::destination()->getAsArray(),
])
->toString();
$form['translatable']['#description'] = t('To configure translation for this field, <a href=":language-settings-url">enable language support</a> for this type.', [
':language-settings-url' => $toggle_url,
]);
}
if ($field->isTranslatable()) {
\Drupal::moduleHandler()->loadInclude('content_translation', 'inc', 'content_translation.admin');
$element = content_translation_field_sync_widget($field);
if ($element) {
$form['third_party_settings']['content_translation']['translation_sync'] = $element;
$form['third_party_settings']['content_translation']['translation_sync']['#weight'] = -10;
}
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.