function hms_field_field_formatter_settings_form in HMS Field 7
Implements hook_field_formatter_settings_form().
File
- ./
hms_field.module, line 180 - Provides an hms_field functionality.
Code
function hms_field_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
$display = $instance['display'][$view_mode];
$settings = $display['settings'];
$element = array();
if ($display['type'] == 'hms_default_formatter') {
$element['format'] = array(
'#type' => 'select',
'#title' => t('Display format'),
'#options' => _hms_format_options(),
'#description' => t('The display format used for this field'),
'#default_value' => $settings['format'],
'#required' => TRUE,
);
$element['leading_zero'] = array(
'#type' => 'checkbox',
'#title' => t('Leading zero'),
'#description' => t('Leading zero values will be displayed when this option is checked'),
'#default_value' => $settings['leading_zero'],
);
}
elseif ($display['type'] == 'hms_natural_language_formatter') {
$options = array();
$factors = _hms_factor_map(TRUE);
$order = _hms_factor_map();
arsort($order, SORT_NUMERIC);
foreach ($order as $factor => $info) {
$options[$factor] = t($factors[$factor]['label multiple']);
}
$element['display_formats'] = array(
'#type' => 'checkboxes',
'#title' => t('Display fragments'),
'#options' => $options,
'#description' => t('Formats that are displayed in this field'),
'#default_value' => $settings['display_formats'],
'#required' => TRUE,
);
$element['separator'] = array(
'#type' => 'textfield',
'#title' => t('Separator'),
'#description' => t('Separator used between fragments'),
'#default_value' => $settings['separator'],
'#required' => TRUE,
);
$element['last_separator'] = array(
'#type' => 'textfield',
'#title' => t('Last separator'),
'#description' => t('Separator used between the last 2 fragments'),
'#default_value' => $settings['last_separator'],
'#required' => FALSE,
);
}
return $element;
}