function node_reference_field_formatter_prepare_view in References 7.2
Implements hook_field_formatter_prepare_view().
Preload all nodes referenced by items using 'full entity' formatters.
File
- node_reference/node_reference.module, line 403 
- Defines a field type for referencing one node from another.
Code
function node_reference_field_formatter_prepare_view($entity_type, $entities, $field, $instances, $langcode, &$items, $displays) {
  // Load the referenced nodes, except for the 'node_reference_nid' which does
  // not need full objects.
  // Collect ids to load.
  $ids = array();
  foreach ($displays as $id => $display) {
    if ($display['type'] != 'node_reference_nid') {
      foreach ($items[$id] as $delta => $item) {
        // Checking item 'access' before the use.
        if (!empty($item['access'])) {
          $ids[$item['nid']] = $item['nid'];
        }
      }
    }
  }
  $entities = node_load_multiple($ids);
  // Add the loaded nodes to the items.
  foreach ($displays as $id => $display) {
    if ($display['type'] != 'node_reference_nid') {
      foreach ($items[$id] as $delta => $item) {
        // Checking item 'access' before the use.
        if (!empty($item['access'])) {
          $items[$id][$delta]['node'] = $entities[$item['nid']];
        }
      }
    }
  }
}