function hook_field_display_alter
Alters the display settings of a field before it gets displayed.
Note that instead of hook_field_display_alter(), which is called for all fields on all entity types, hook_field_display_ENTITY_TYPE_alter() may be used to alter display settings for fields on a specific entity type only.
This hook is called once per field per displayed entity. If the result of the hook involves reading from the database, it is highly recommended to statically cache the information.
Parameters
$display: The display settings that will be used to display the field values, as found in the 'display' key of $instance definitions.
$context: An associative array containing:
- entity_type: The entity type; e.g., 'node' or 'user'.
- field: The field being rendered.
- instance: The instance being rendered.
- entity: The entity being rendered.
- view_mode: The view mode, e.g. 'full', 'teaser'...
See also
hook_field_display_ENTITY_TYPE_alter()
Related topics
File
-
modules/
field/ field.api.php, line 2366
Code
function hook_field_display_alter(&$display, $context) {
// Leave field labels out of the search index.
// Note: The check against $context['entity_type'] == 'node' could be avoided
// by using hook_field_display_node_alter() instead of
// hook_field_display_alter(), resulting in less function calls when
// rendering non-node entities.
if ($context['entity_type'] == 'node' && $context['view_mode'] == 'search_index') {
$display['label'] = 'hidden';
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.