diff --git a/core/modules/field_ui/field_ui.admin.inc b/core/modules/field_ui/field_ui.admin.inc index 24a99e1..e280f5c 100644 --- a/core/modules/field_ui/field_ui.admin.inc +++ b/core/modules/field_ui/field_ui.admin.inc @@ -1061,6 +1061,17 @@ function field_ui_display_overview_form($form, &$form_state, $entity_type, $bund $settings_form = $function($field, $instance, $view_mode, $form, $form_state); } + // Allow other modules to alter the formater settings form. + $context = array( + 'module' => $formatter['module'], + 'formatter' => $formatter, + 'field' => $field, + 'instance' => $instance, + 'view_mode' => $view_mode, + 'form' => $form, + ); + drupal_alter('field_formatter_settings_form', $settings_form, $form_state, $context); + if ($settings_form) { $table[$name]['format']['#cell_attributes'] = array('colspan' => 3); $table[$name]['format']['settings_edit_form'] = array( @@ -1096,6 +1107,12 @@ function field_ui_display_overview_form($form, &$form_state, $entity_type, $bund else { // Display a summary of the current formatter settings. $summary = module_invoke($formatter['module'], 'field_formatter_settings_summary', $field, $instance, $view_mode); + $context = array( + 'field' => $field, + 'instance' => $instance, + 'view_mode' => $view_mode, + ); + drupal_alter('field_formatter_settings_summary', $summary, $context); $table[$name]['settings_summary'] = array(); $table[$name]['settings_edit'] = array(); if ($summary) { diff --git a/core/modules/field_ui/field_ui.api.php b/core/modules/field_ui/field_ui.api.php index f903e12..176f6ec 100644 --- a/core/modules/field_ui/field_ui.api.php +++ b/core/modules/field_ui/field_ui.api.php @@ -170,6 +170,18 @@ function hook_field_formatter_settings_form($field, $instance, $view_mode, $form } /** + * Alter the formatter settings form. + */ +function hook_field_formatter_settings_form_alter(&$element, &$form_state, $context) { +} + +/** + * Alter the field formatter settings summary. + */ +function hook_field_formatter_settings_summary_alter(&$summary, $context) { +} + +/** * Return a short summary for the current formatter settings of an instance. * * If an empty result is returned, the formatter is assumed to have no