function hook_field_settings_form
Add settings to a field settings form.
Invoked from field_ui_field_settings_form() to allow the module defining the field to add global settings (i.e. settings that do not depend on the bundle or instance) to the field settings form. If the field already has data, only include settings that are safe to change.
@todo: Only the field type module knows which settings will affect the field's schema, but only the field storage module knows what schema changes are permitted once a field already has data. Probably we need an easy way for a field type module to ask whether an update to a new schema will be allowed without having to build up a fake $prior_field structure for hook_field_update_forbid().
Parameters
$field: The field structure being configured.
$instance: The instance structure being configured.
$has_data: TRUE if the field already has data, FALSE if not.
Return value
The form definition for the field settings.
Related topics
8 functions implement hook_field_settings_form()
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_settings_form in modules/
field/ tests/ field_test.field.inc - Implements hook_field_settings_form().
- field_ui_field_settings_form in modules/
field_ui/ field_ui.admin.inc - Form constructor for the field settings edit page.
- file_field_settings_form in modules/
file/ file.field.inc - Implements hook_field_settings_form().
- image_field_settings_form in modules/
image/ image.field.inc - Implements hook_field_settings_form().
- list_field_settings_form in modules/
field/ modules/ list/ list.module - Implements hook_field_settings_form().
2 invocations of hook_field_settings_form()
- field_ui_field_edit_form in modules/
field_ui/ field_ui.admin.inc - Form constructor for the field instance settings form.
- field_ui_field_settings_form in modules/
field_ui/ field_ui.admin.inc - Form constructor for the field settings edit page.
File
-
modules/
field_ui/ field_ui.api.php, line 38
Code
function hook_field_settings_form($field, $instance, $has_data) {
$settings = $field['settings'];
$form['max_length'] = array(
'#type' => 'textfield',
'#title' => t('Maximum length'),
'#default_value' => $settings['max_length'],
'#required' => FALSE,
'#element_validate' => array(
'element_validate_integer_positive',
),
'#description' => t('The maximum length of the field in characters. Leave blank for an unlimited size.'),
);
return $form;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.