function hook_field_widget_info

Expose Field API widget types.

Return value

An array describing the widget types implemented by the module. The keys are widget type names. To avoid name clashes, widget type names should be prefixed with the name of the module that exposes them. The values are arrays describing the widget type, with the following key/value pairs:

  • label: The human-readable name of the widget type.
  • description: A short description for the widget type.
  • field types: An array of field types the widget supports.
  • settings: An array whose keys are the names of the settings available for the widget type, and whose values are the default values for those settings.
  • behaviors: (optional) An array describing behaviors of the widget, with the following elements:

    • multiple values: One of the following constants:

      • FIELD_BEHAVIOR_DEFAULT: (default) If the widget allows the input of one single field value (most common case). The widget will be repeated for each value input.
      • FIELD_BEHAVIOR_CUSTOM: If one single copy of the widget can receive several field values. Examples: checkboxes, multiple select, comma-separated textfield.
    • default value: One of the following constants:
  • weight: (optional) An integer to determine the weight of this widget relative to other widgets in the Field UI when selecting a widget for a given field instance.

See also

hook_field_widget_info_alter()

hook_field_widget_form()

hook_field_widget_form_alter()

hook_field_widget_WIDGET_TYPE_form_alter()

hook_field_widget_error()

hook_field_widget_settings_form()

Related topics

7 functions implement hook_field_widget_info()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

field_test_field_widget_info in modules/field/tests/field_test.field.inc
Implements hook_field_widget_info().
file_field_widget_info in modules/file/file.field.inc
Implements hook_field_widget_info().
image_field_widget_info in modules/image/image.field.inc
Implements hook_field_widget_info().
number_field_widget_info in modules/field/modules/number/number.module
Implements hook_field_widget_info().
options_field_widget_info in modules/field/modules/options/options.module
Implements hook_field_widget_info().

... See full list

2 invocations of hook_field_widget_info()
field_help in modules/field/field.module
Implements hook_help().
_field_info_collate_types in modules/field/field.info.inc
Collates all information on field types, widget types and related structures.

File

modules/field/field.api.php, line 764

Code

function hook_field_widget_info() {
    return array(
        'text_textfield' => array(
            'label' => t('Text field'),
            'field types' => array(
                'text',
            ),
            'settings' => array(
                'size' => 60,
            ),
            'behaviors' => array(
                'multiple values' => FIELD_BEHAVIOR_DEFAULT,
                'default value' => FIELD_BEHAVIOR_DEFAULT,
            ),
        ),
        'text_textarea' => array(
            'label' => t('Text area (multiple rows)'),
            'field types' => array(
                'text_long',
            ),
            'settings' => array(
                'rows' => 5,
            ),
            'behaviors' => array(
                'multiple values' => FIELD_BEHAVIOR_DEFAULT,
                'default value' => FIELD_BEHAVIOR_DEFAULT,
            ),
        ),
        'text_textarea_with_summary' => array(
            'label' => t('Text area with a summary'),
            'field types' => array(
                'text_with_summary',
            ),
            'settings' => array(
                'rows' => 20,
                'summary_rows' => 5,
            ),
            'behaviors' => array(
                'multiple values' => FIELD_BEHAVIOR_DEFAULT,
                'default value' => FIELD_BEHAVIOR_DEFAULT,
            ),
            // As an advanced widget, force it to sink to the bottom of the choices.
'weight' => 2,
        ),
    );
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.