function content_display_overview_form in Content Construction Kit (CCK) 6.2
Same name and namespace in other branches
- 6.3 includes/content.admin.inc \content_display_overview_form()
Menu callback; presents a listing of fields display settings for a content type.
Form includes form widgets to select which fields appear for teaser, full node and how the field labels should be rendered.
2 string references to 'content_display_overview_form'
- content_menu in ./
content.module - Implementation of hook_menu().
- fieldgroup_form_alter in modules/
fieldgroup/ fieldgroup.module - Implementation of hook_form_alter()
File
- includes/
content.admin.inc, line 568 - Administrative interface for content type creation.
Code
function content_display_overview_form(&$form_state, $type_name, $contexts_selector = 'basic') {
content_inactive_message($type_name);
// Gather type information.
$type = content_types($type_name);
$field_types = _content_field_types();
$fields = $type['fields'];
$groups = array();
if (module_exists('fieldgroup')) {
$groups = fieldgroup_groups($type['type']);
}
$contexts = content_build_modes($contexts_selector);
$form = array(
'#tree' => TRUE,
'#type_name' => $type['type'],
'#fields' => array_keys($fields),
'#groups' => array_keys($groups),
'#contexts' => $contexts_selector,
);
if (empty($fields)) {
drupal_set_message(t('There are no fields configured for this content type. You can add new fields on the <a href="@link">Manage fields</a> page.', array(
'@link' => url('admin/content/node-type/' . $type['url_str'] . '/fields'),
)), 'warning');
return $form;
}
// Fields.
$label_options = array(
'above' => t('Above'),
'inline' => t('Inline'),
'hidden' => t('<Hidden>'),
);
foreach ($fields as $name => $field) {
$field_type = $field_types[$field['type']];
$defaults = $field['display_settings'];
$weight = $field['widget']['weight'];
$form[$name] = array(
'human_name' => array(
'#value' => check_plain($field['widget']['label']),
),
'weight' => array(
'#type' => 'value',
'#value' => $weight,
),
'parent' => array(
'#type' => 'value',
'#value' => '',
),
);
// Label
if ($contexts_selector == 'basic') {
$form[$name]['label']['format'] = array(
'#type' => 'select',
'#options' => $label_options,
'#default_value' => isset($defaults['label']['format']) ? $defaults['label']['format'] : 'above',
);
}
// Formatters.
$options = array();
foreach ($field_type['formatters'] as $formatter_name => $formatter_info) {
$options[$formatter_name] = $formatter_info['label'];
}
$options['hidden'] = t('<Hidden>');
foreach ($contexts as $key => $value) {
$form[$name][$key]['format'] = array(
'#type' => 'select',
'#options' => $options,
'#default_value' => isset($defaults[$key]['format']) ? $defaults[$key]['format'] : 'default',
);
// exclude from $content
$form[$name][$key]['exclude'] = array(
'#type' => 'checkbox',
'#options' => array(
0 => t('Include'),
1 => t('Exclude'),
),
'#default_value' => isset($defaults[$key]['exclude']) ? $defaults[$key]['exclude'] : 0,
);
}
}
// Groups.
$label_options = array(
'above' => t('Above'),
'hidden' => t('<Hidden>'),
);
$options = array(
'no_style' => t('no styling'),
'simple' => t('simple'),
'fieldset' => t('fieldset'),
'fieldset_collapsible' => t('fieldset - collapsible'),
'fieldset_collapsed' => t('fieldset - collapsed'),
'hidden' => t('<Hidden>'),
);
foreach ($groups as $name => $group) {
$defaults = $group['settings']['display'];
$weight = $group['weight'];
$form[$name] = array(
'human_name' => array(
'#value' => check_plain($group['label']),
),
'weight' => array(
'#type' => 'value',
'#value' => $weight,
),
);
if ($contexts_selector == 'basic') {
$form[$name]['label'] = array(
'#type' => 'select',
'#options' => $label_options,
'#default_value' => isset($defaults['label']) ? $defaults['label'] : 'above',
);
}
foreach ($contexts as $key => $title) {
$form[$name][$key]['format'] = array(
'#type' => 'select',
'#options' => $options,
'#default_value' => isset($defaults[$key]['format']) ? $defaults[$key]['format'] : 'fieldset',
);
// exclude in $content
$form[$name][$key]['exclude'] = array(
'#type' => 'checkbox',
'#options' => array(
0 => t('Include'),
1 => t('Exclude'),
),
'#default_value' => isset($defaults[$key]['exclude']) ? $defaults[$key]['exclude'] : 0,
);
}
foreach ($group['fields'] as $field_name => $field) {
$form[$field_name]['parent']['#value'] = $name;
}
}
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
);
return $form;
}