Index: modules/field_ui/field_ui.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/field_ui/field_ui.admin.inc,v retrieving revision 1.73 diff -u -p -r1.73 field_ui.admin.inc --- modules/field_ui/field_ui.admin.inc 14 Oct 2010 18:50:27 -0000 1.73 +++ modules/field_ui/field_ui.admin.inc 18 Oct 2010 23:00:46 -0000 @@ -960,10 +960,23 @@ function field_ui_display_overview_form( $settings_form = array(); $function = $formatter['module'] . '_field_formatter_settings_form'; + $settings_form = array(); if (function_exists($function)) { $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, + 'form_state' => $form_state, + ); + drupal_alter('field_formatter_settings_form', $settings_form, $context); + if ($settings_form) { $table[$name]['format']['#cell_attributes'] = array('colspan' => 3); $table[$name]['format']['settings_edit_form'] = array( @@ -999,6 +1012,12 @@ function field_ui_display_overview_form( 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) { Index: modules/field_ui/field_ui.api.php =================================================================== RCS file: /cvs/drupal/drupal/modules/field_ui/field_ui.api.php,v retrieving revision 1.8 diff -u -p -r1.8 field_ui.api.php --- modules/field_ui/field_ui.api.php 17 Jul 2010 19:19:39 -0000 1.8 +++ modules/field_ui/field_ui.api.php 18 Oct 2010 23:00:46 -0000 @@ -171,6 +171,20 @@ function hook_field_formatter_settings_f } /** + * Alter the formatter settings form. + */ +function hook_field_formatter_settings_form_alter(array &$settings_form, array $context) { + +} + +/** + * Alter the field formatter settings summary. + */ +function hook_field_formatter_settings_summary_alter(&$sumary, array $context) { + +} + +/** * Returns a short summary for the current formatter settings of an instance. * * @param $field