_content_translation_preprocess_language_content_settings_table(&$variables)
(proxied) Implements hook_preprocess_HOOK();
File
- core/modules/content_translation/content_translation.admin.inc, line 170
- The content translation administration forms.
Code
function _content_translation_preprocess_language_content_settings_table(&$variables) { // Alter the 'build' variable injecting the translation settings if the user // has the required permission. if (!\Drupal::currentUser()->hasPermission('administer content translation')) { return; } $element = $variables['element']; $build = &$variables['build']; array_unshift($build['#header'], array('data' => t('Translatable'), 'class' => array('translatable'))); $rows = array(); foreach (Element::children($element) as $bundle) { $field_names = !empty($element[$bundle]['fields']) ? Element::children($element[$bundle]['fields']) : array(); if (!empty($element[$bundle]['translatable'])) { $checkbox_id = $element[$bundle]['translatable']['#id']; } $rows[$bundle] = $build['#rows'][$bundle]; if (!empty($element[$bundle]['translatable'])) { $translatable = array( 'data' => $element[$bundle]['translatable'], 'class' => array('translatable'), ); array_unshift($rows[$bundle]['data'], $translatable); $rows[$bundle]['data'][1]['data']['#prefix'] = '<label for="' . $checkbox_id . '">'; } else { $translatable = array( 'data' => t('N/A'), 'class' => array('untranslatable'), ); array_unshift($rows[$bundle]['data'], $translatable); } foreach ($field_names as $field_name) { $field_element = &$element[$bundle]['fields'][$field_name]; $rows[] = array( 'data' => array( array( 'data' => drupal_render($field_element), 'class' => array('translatable'), ), array( 'data' => array( '#prefix' => '<label for="' . $field_element['#id'] . '">', '#suffix' => '</label>', 'bundle' => array( '#prefix' => '<span class="visually-hidden">', '#suffix' => '</span> ', '#plain_text' => $element[$bundle]['settings']['#label'], ), 'field' => array( '#plain_text' => $field_element['#label'], ), ), 'class' => array('field'), ), array( 'data' => '', 'class' => array('operations'), ), ), 'class' => array('field-settings'), ); if (!empty($element[$bundle]['columns'][$field_name])) { $column_element = &$element[$bundle]['columns'][$field_name]; foreach (Element::children($column_element) as $key) { $column_label = $column_element[$key]['#title']; unset($column_element[$key]['#title']); $rows[] = array( 'data' => array( array( 'data' => drupal_render($column_element[$key]), 'class' => array('translatable'), ), array( 'data' => array( '#prefix' => '<label for="' . $column_element[$key]['#id'] . '">', '#suffix' => '</label>', 'bundle' => array( '#prefix' => '<span class="visually-hidden">', '#suffix' => '</span> ', '#plain_text' => $element[$bundle]['settings']['#label'], ), 'field' => array( '#prefix' => '<span class="visually-hidden">', '#suffix' => '</span> ', '#plain_text' => $field_element['#label'], ), 'columns' => array( '#plain_text' => $column_label, ), ), 'class' => array('column'), ), array( 'data' => '', 'class' => array('operations'), ), ), 'class' => array('column-settings'), ); } } } } $build['#rows'] = $rows; }
Please login to continue.