function theme_translation_entity_admin_settings_table(array $variables) { $element = $variables['element']; $header = array( array( 'data' => '' . t('Translatable') . ' ', 'class' => array('translatable') ), array( 'data' => $element['#bundle_label'], 'class' => array('bundle') ), array( 'data' => t('Configuration'), 'class' => array('operations') ), ); $rows = array(); foreach (element_children($element) as $bundle) { $field_names = !empty($element[$bundle]['fields']) ? element_children($element[$bundle]['fields']) : array(); $bundle_label_text = check_plain($element[$bundle]['translatable']['#label']); $bundle_label = $bundle_label_text; if (!empty($element[$bundle]['translatable']['#bundle_admin_path'])) { $bundle_label = l($bundle_label_text, $element[$bundle]['translatable']['#bundle_admin_path']); } $name_column_data = format_string('', array( // drupal_render builds the class on the div. //That's what target sould be. '@label-target' => 'form-item-settings-' . $bundle_label_text . '-translatable', '@text-invisible' => $element['#bundle_label'], // the l() is showing as the a href text instead of as a link. '@text' => $bundle_label, ) ); $rows[] = array( 'data' => array( array( 'data' => drupal_render($element[$bundle]['translatable']), 'class' => array('translatable'), ), array( 'data' => $name_column_data, 'class' => array('bundle'), ), array( 'data' => drupal_render($element[$bundle]['settings']), 'class' => array('operations'), ), ), 'class' => array('bundle-settings'), ); foreach ($field_names as $field_name) { $field = &$element[$bundle]['fields'][$field_name]; $name_column_data_field = format_string('', array( '@label-target' => $field_name, '@label-target' => 'form-item-settings-' . $bundle_label_text . '-fields-' . $field_name, '@text-invisible' => $element['#bundle_label'] . ' ' . $bundle_label_text . ' ' . t('Field'), '@text' => check_plain($field['#label']), ) ); $rows[] = array( 'data' => array( array( 'data' => drupal_render($field), 'class' => array('translatable'), ), array( 'data' => $name_column_data_field, 'class' => array('field'), ), array( 'data' => '', 'class' => array('operations'), ), ), 'class' => array('field-settings'), ); } } $output = theme('table', array('header' => $header, 'rows' => $rows)); $output .= drupal_render_children($element); return $output; }