You are here

function field_collection_table_pre_render_field in Field Collection Table 7

Callback for #pre_render for a single row, hide the titles for each field.

1 call to field_collection_table_pre_render_field()
field_collection_table_pre_render_multiple_fields in ./field_collection_table.module
Callback for #pre_render for multiple rows, hide the titles for each field.
1 string reference to 'field_collection_table_pre_render_field'
field_collection_table_field_attach_form in ./field_collection_table.module
Implements hook_field_attach_form().

File

./field_collection_table.module, line 477
Module implementing a field-collection table formatter.

Code

function field_collection_table_pre_render_field($element) {
  if (isset($element['#entity_type'], $element['#bundle'])) {
    foreach (field_info_instances($element['#entity_type'], $element['#bundle']) as $field_name => $instance) {
      if (empty($element[$field_name])) {
        continue;
      }
      $field =& $element[$field_name];
      $language = $field['#language'];
      if (isset($field[$language])) {

        // Set the most common places for a title to display invisible.
        $field['#title_display'] = 'invisible';
        $field[$language]['#title_display'] = 'invisible';
        $children = element_children($field[$language]);
        if ($children) {
          foreach ($children as $child) {
            if (array_key_exists('#type', $field[$language][$child]) && !in_array($field[$language][$child]['#type'], [
              'radio',
              'checkbox',
            ])) {
              $field[$language][$child]['#title_display'] = 'invisible';
            }
            $field[$language][$child]['value']['#title_display'] = 'invisible';
          }
        }
      }
      else {
        $field['#label_display'] = 'hidden';
      }
    }
  }
  return $element;
}