diff --git a/core/modules/language/language.admin.inc b/core/modules/language/language.admin.inc index 8c35c6b..66535d8 100644 --- a/core/modules/language/language.admin.inc +++ b/core/modules/language/language.admin.inc @@ -143,64 +143,3 @@ function theme_language_negotiation_configure_browser_form_table($variables) { return $output; } - -/** - * Implements hook_preprocess_HOOK() for theme_language_content_settings_table(). - */ -function template_preprocess_language_content_settings_table(&$variables) { - // Add a render element representing the bundle language settings table. - $element = $variables['element']; - - $header = array( - array( - 'data' => $element['#bundle_label'], - 'class' => array('bundle'), - ), - array( - 'data' => t('Configuration'), - 'class' => array('operations'), - ), - ); - - $rows = array(); - foreach (Element::children($element) as $bundle) { - $rows[$bundle] = array( - 'data' => array( - array( - 'data' => array( - '#prefix' => '', - '#markup' => SafeMarkup::checkPlain($element[$bundle]['settings']['#label']), - ), - 'class' => array('bundle'), - ), - array( - 'data' => $element[$bundle]['settings'], - 'class' => array('operations'), - ), - ), - 'class' => array('bundle-settings'), - ); - } - - $variables['build'] = array( - '#title' => $element['#title'], - '#header' => $header, - '#rows' => $rows, - '#type' => 'table', - ); -} - -/** - * Returns HTML for an administration settings table. - * - * @param array $variables - * An associative array containing: - * - build: A render element representing a table of bundle content language - * settings for a particular entity type. - * - * @ingroup themeable - */ -function theme_language_content_settings_table($variables) { - return '

' . $variables['build']['#title'] . '

' . drupal_render($variables['build']); -} diff --git a/core/modules/language/language.module b/core/modules/language/language.module index 9d6fa55..ad372db 100644 --- a/core/modules/language/language.module +++ b/core/modules/language/language.module @@ -110,11 +110,6 @@ function language_theme() { 'file' => 'language.admin.inc', 'function' => 'theme_language_negotiation_configure_browser_form_table', ), - 'language_content_settings_table' => array( - 'render element' => 'element', - 'file' => 'language.admin.inc', - 'function' => 'theme_language_content_settings_table', - ), ); } diff --git a/core/modules/language/src/Form/ContentLanguageSettingsForm.php b/core/modules/language/src/Form/ContentLanguageSettingsForm.php index fc53554..6dfb305 100644 --- a/core/modules/language/src/Form/ContentLanguageSettingsForm.php +++ b/core/modules/language/src/Form/ContentLanguageSettingsForm.php @@ -102,32 +102,52 @@ public function buildForm(array $form, FormStateInterface $form_state) { foreach ($labels as $entity_type_id => $label) { $entity_type = $entity_types[$entity_type_id]; - $form['settings'][$entity_type_id] = array( + $form['settings'][$entity_type_id] = [ '#title' => $label, '#type' => 'container', '#entity_type' => $entity_type_id, - '#theme' => 'language_content_settings_table', '#bundle_label' => $entity_type->getBundleLabel() ?: $label, - '#states' => array( - 'visible' => array( + '#states' => [ + 'visible' => [ ':input[name="entity_types[' . $entity_type_id . ']"]' => array('checked' => TRUE), - ), - ), - ); + ], + ], + ]; + + $form['settings'][$entity_type_id . '-label'] = [ + '#markup' => '

' . $label . '

', + ]; + + $form['settings'][$entity_type_id] = [ + '#title' => $label, + '#type' => 'table', + '#header' => [ + [ + 'data' => $entity_type->getBundleLabel() ?: $label, + 'class' => ['bundle'], + ], + [ + 'data' => t('Configuration'), + 'class' => ['operations'], + ], + ] + ]; foreach ($bundles[$entity_type_id] as $bundle => $bundle_info) { - $form['settings'][$entity_type_id][$bundle]['settings'] = array( - '#type' => 'item', + $form['settings'][$entity_type_id][$bundle]['content_type'] = [ + '#markup' => $bundle_info['label'], + ]; + $form['settings'][$entity_type_id][$bundle]['settings'] = [ '#label' => $bundle_info['label'], - 'language' => array( + 'language' => [ '#type' => 'language_configuration', - '#entity_information' => array( + '#entity_information' => [ 'entity_type' => $entity_type_id, 'bundle' => $bundle, - ), + ], '#default_value' => $language_configuration[$entity_type_id][$bundle], - ), - ); + ], + ]; } }