field_ui_display_overview_form

Versions
mediamosa-21
field_ui_display_overview_form($form, &$form_state, $entity_type, $bundle, $view_modes_selector = 'basic')

Menu callback; presents a listing of fields display settings for a bundle.

This form includes form widgets to select which fields appear in teaser and full view modes, and how the field labels should be rendered.

Code

modules/field_ui/field_ui.admin.inc, line 569

<?php
function field_ui_display_overview_form($form, &$form_state, $entity_type, $bundle, $view_modes_selector = 'basic') {
  $bundle = field_extract_bundle($entity_type, $bundle);

  field_ui_inactive_message($entity_type, $bundle);
  $admin_path = _field_ui_bundle_admin_path($entity_type, $bundle);

  // Gather type information.
  $instances = field_info_instances($entity_type, $bundle);
  $field_types = field_info_field_types();
  $view_modes = field_ui_view_modes_tabs($entity_type, $view_modes_selector);

  $form += array(
    '#tree' => TRUE,
    '#object_type' => $entity_type,
    '#bundle' => $bundle,
    '#fields' => array_keys($instances),
    '#contexts' => $view_modes_selector,
  );

  if (empty($instances)) {
    drupal_set_message(t('There are no fields yet added. You can add new fields on the <a href="@link">Manage fields</a> page.', array('@link' => url($admin_path . '/fields'))), 'warning');
    return $form;
  }

  // Fields.
  $label_options = array(
    'above' => t('Above'),
    'inline' => t('Inline'),
    'hidden' => t('<Hidden>'),
  );
  foreach ($instances as $name => $instance) {
    $field = field_info_field($instance['field_name']);
    $weight = $instance['widget']['weight'];

    $form[$name] = array(
      'human_name' => array('#markup' => check_plain($instance['label'])),
      'weight' => array('#type' => 'value', '#value' => $weight),
    );
    $defaults = $instance['display'];

    $formatter_options = field_ui_formatter_options($field['type']);
    $formatter_options['hidden'] = t('<Hidden>');
    foreach ($view_modes as $view_mode) {
      $display = isset($instance['display'][$view_mode]) ? $instance['display'][$view_mode] : $instance['display']['full'];
      $form[$name][$view_mode]['label'] = array(
        '#type' => 'select',
        '#options' => $label_options,
        '#default_value' => $display['label'],
      );
      $form[$name][$view_mode]['type'] = array(
        '#type' => 'select',
        '#options' => $formatter_options,
        '#default_value' => $display['type'],
      );
    }
  }

  $form['submit'] = array('#type' => 'submit', '#value' => t('Save'));
  return $form;
}
?>