diff options
Diffstat (limited to 'modules/field/modules/options/options.module')
-rw-r--r-- | modules/field/modules/options/options.module | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/modules/field/modules/options/options.module b/modules/field/modules/options/options.module index e536c08c6..538a3ddfd 100644 --- a/modules/field/modules/options/options.module +++ b/modules/field/modules/options/options.module @@ -61,6 +61,7 @@ function options_field_widget_info() { 'behaviors' => array( 'multiple values' => FIELD_BEHAVIOR_CUSTOM, ), + 'settings' => array('display_label' => 0), ), ); } @@ -122,6 +123,10 @@ function options_field_widget_form(&$form, &$form_state, $field, $instance, $lan ); // Override the title from the incoming $element. $element['#title'] = isset($options[$on_value]) ? $options[$on_value] : ''; + + if ($instance['widget']['settings']['display_label']) { + $element['#title'] = $instance['label']; + } break; } @@ -135,6 +140,22 @@ function options_field_widget_form(&$form, &$form_state, $field, $instance, $lan } /** + * Implements hook_field_widget_settings_form(). + */ +function options_field_widget_settings_form($field, $instance) { + $form = array(); + if ($instance['widget']['type'] == 'options_onoff') { + $form['display_label'] = array( + '#type' => 'checkbox', + '#title' => t('Use field label instead the "On value" as label'), + '#default_value' => $instance['widget']['settings']['display_label'], + '#weight' => -1, + ); + } + return $form; +} + +/** * Form element validation handler for options element. */ function options_field_widget_validate($element, &$form_state) { |