_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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | 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.