field_default_prepare_view
function field_default_prepare_view
field_default_prepare_view($entity_type, $entities, $field, $instances, $langcode, &$items, $display)
Invokes hook_field_formatter_prepare_view() on the relevant formatters.
Parameters
$entity_type: The type of $entity; e.g. 'node' or 'user'.
$entities: An array of entities being displayed, keyed by entity id.
$field: The field structure for the operation.
$instances: Array of instance structures for $field for each entity, keyed by entity id.
$langcode: The language associated to $items.
$items: Array of field values already loaded for the entities, keyed by entity id.
$display: Can be either:
- the name of a view mode
- or an array of display settings to use for display, as found in the 'display' entry of $instance definitions.
File
- modules/field/field.default.inc, line 138
- Default 'implementations' of hook_field_*(): common field housekeeping.
Code
function field_default_prepare_view($entity_type, $entities, $field, $instances, $langcode, &$items, $display) { // Group entities, instances and items by formatter module. $modules = array(); foreach ($instances as $id => $instance) { if (is_string($display)) { $view_mode = $display; $instance_display = field_get_display($instance, $view_mode, $entities[$id]); } else { $instance_display = $display; } if ($instance_display['type'] !== 'hidden') { $module = $instance_display['module']; $modules[$module] = $module; $grouped_entities[$module][$id] = $entities[$id]; $grouped_instances[$module][$id] = $instance; $grouped_displays[$module][$id] = $instance_display; // hook_field_formatter_prepare_view() alters $items by reference. $grouped_items[$module][$id] = &$items[$id]; } } foreach ($modules as $module) { // Invoke hook_field_formatter_prepare_view(). $function = $module . '_field_formatter_prepare_view'; if (function_exists($function)) { $function($entity_type, $grouped_entities[$module], $field, $grouped_instances[$module], $langcode, $grouped_items[$module], $grouped_displays[$module]); } } }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/modules!field!field.default.inc/function/field_default_prepare_view/7.x