function optionwidgets_form_alter in Content Construction Kit (CCK) 6.3
Same name and namespace in other branches
- 6 modules/optionwidgets/optionwidgets.module \optionwidgets_form_alter()
- 6.2 modules/optionwidgets/optionwidgets.module \optionwidgets_form_alter()
Implementation of hook_form_alter.
File
- modules/
optionwidgets/ optionwidgets.module, line 11 - Defines selection, check box and radio button widgets for text and numeric fields.
Code
function optionwidgets_form_alter(&$form, $form_state, $form_id) {
// Provide additional help for the field settings form.
if ($form_id == 'content_field_edit_form' && isset($form['widget'])) {
$widget_type = $form['#field']['widget']['type'];
$field_type = $form['#field']['type'];
$label = $form['#field']['widget']['label'];
$output = '<p>' . t('Create a list of options as a list in <strong>Allowed values list</strong> or as an array in PHP code. These values will be the same for %field in all content types.', array(
'%field' => $label,
)) . '</p>';
if ($widget_type == 'optionwidgets_onoff') {
$output .= '<p>' . t("For a 'single on/off checkbox' widget, define the 'off' value first, then the 'on' value in the <strong>Allowed values</strong> section. Note that the checkbox will be labeled with the label of the 'on' value.") . '</p>';
}
elseif ($widget_type == 'optionwidgets_buttons') {
$output .= '<p>' . t("The 'checkboxes/radio buttons' widget will display checkboxes if the multiple values option is selected for this field, otherwise radios will be displayed.") . '</p>';
}
if (in_array($field_type, array(
'text',
'number_integer',
'number_float',
'number_decimal',
)) && in_array($widget_type, array(
'optionwidgets_onoff',
'optionwidgets_buttons',
'optionwidgets_select',
))) {
$form['field']['allowed_values_fieldset']['#collapsed'] = FALSE;
$form['field']['allowed_values_fieldset']['#description'] = $output;
// If no 'allowed values' were set yet, add a remainder in the messages area.
if (empty($form_state['post']) && empty($form['field']['allowed_values_fieldset']['allowed_values']['#default_value']) && empty($form['field']['allowed_values_fieldset']['advanced_options']['allowed_values_php']['#default_value'])) {
drupal_set_message(t("You need to specify the 'allowed values' for this field."), 'warning');
}
}
}
}