field_ui_display_overview_form
- Versions
- 7
field_ui_display_overview_form($form, &$form_state, $obj_type, $bundle, $build_modes_selector = 'basic')
Menu callback; presents a listing of fields display settings for a content type.
This form includes form widgets to select which fields appear in teaser and full build modes, and how the field labels should be rendered.
Code
modules/field_ui/field_ui.admin.inc, line 572
<?php
function field_ui_display_overview_form($form, &$form_state, $obj_type, $bundle, $build_modes_selector = 'basic') {
$bundle = field_extract_bundle($obj_type, $bundle);
field_ui_inactive_message($obj_type, $bundle);
$admin_path = _field_ui_bundle_admin_path($obj_type, $bundle);
// Gather type information.
$instances = field_info_instances($obj_type, $bundle);
$field_types = field_info_field_types();
$build_modes = field_ui_build_modes_tabs($obj_type, $build_modes_selector);
$form += array(
'#tree' => TRUE,
'#object_type' => $obj_type,
'#bundle' => $bundle,
'#fields' => array_keys($instances),
'#contexts' => $build_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 ($build_modes as $build_mode => $label) {
$display = isset($instance['display'][$build_mode]) ? $instance['display'][$build_mode] : $instance['display']['full'];
$form[$name][$build_mode]['label'] = array(
'#type' => 'select',
'#options' => $label_options,
'#default_value' => $display['label'],
);
$form[$name][$build_mode]['type'] = array(
'#type' => 'select',
'#options' => $formatter_options,
'#default_value' => $display['type'],
);
}
}
$form['submit'] = array('#type' => 'submit', '#value' => t('Save'));
return $form;
}
?>Login or register to post comments 