function hook_field_prepare_view in Drupal 7
Prepare field values prior to display.
This hook is invoked before the field values are handed to formatters for display, and runs before the formatters' own hook_field_formatter_prepare_view().
Unlike most other field hooks, this hook operates on multiple entities. The $entities, $instances and $items parameters are arrays keyed by entity ID. For performance reasons, information for all available entities should be loaded in a single query where possible.
Make changes or additions to field values by altering the $items parameter by reference. There is no return value.
Parameters
$entity_type: The type of $entity.
$entities: 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: $entity->{$field['field_name']}, or an empty array if unset.
Related topics
2 functions implement hook_field_prepare_view()
Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.
- file_field_prepare_view in modules/
file/ file.field.inc - Implements hook_field_prepare_view().
- image_field_prepare_view in modules/
image/ image.field.inc - Implements hook_field_prepare_view().
2 invocations of hook_field_prepare_view()
- field_attach_prepare_view in modules/
field/ field.attach.inc - Prepare field data prior to display.
- field_view_field in modules/
field/ field.module - Returns a renderable array for the value of a single field in an entity.
File
- modules/
field/ field.api.php, line 362 - Hooks provided by the Field module.
Code
function hook_field_prepare_view($entity_type, $entities, $field, $instances, $langcode, &$items) {
// Sample code from image.module: if there are no images specified at all,
// use the default image.
foreach ($entities as $id => $entity) {
if (empty($items[$id]) && $field['settings']['default_image']) {
if ($file = file_load($field['settings']['default_image'])) {
$items[$id][0] = (array) $file + array(
'is_default' => TRUE,
'alt' => '',
'title' => '',
);
}
}
}
}