field_default_view

Versions
7
field_default_view($obj_type, $object, $field, $instance, $langcode, $items, $build_mode)

Default field 'view' operation.

See also

field_attach_view()

▾ 1 function calls field_default_view()

field_view_field in modules/field/field.module
Return a single field, fully themed with label and multiple values.

Code

modules/field/field.default.inc, line 131

<?php
function field_default_view($obj_type, $object, $field, $instance, $langcode, $items, $build_mode) {
  list($id, $vid, $bundle) = entity_extract_ids($obj_type, $object);

  $addition = array();

  $display = $instance['display'][$build_mode];
  if ($display['type'] !== 'hidden') {
    // We never want to index fields labels.
    if ($build_mode == 'search_index') {
      $display['label'] = 'hidden';
    }

    // Calling the formatter function through module_invoke() can have a
    // performance impact on pages with many fields and values.
    $function = $display['module'] . '_field_formatter';
    if (function_exists($function)) {
      $elements = $function($obj_type, $object, $field, $instance, $langcode, $items, $display);
    }

    if ($elements) {
      $info = array(
        '#theme' => 'field',
        '#weight' => $display['weight'],
        '#title' => t($instance['label']),
        '#access' => field_access('view', $field, $obj_type, $object),
        '#label_display' => $display['label'],
        '#build_mode' => $build_mode,
        '#language' => $langcode,
        '#field_name' => $field['field_name'],
        '#field_type' => $field['type'],
        '#object_type' => $obj_type,
        '#bundle' => $bundle,
        '#object' => $object,
        '#items' => $items,
        '#formatter' => $display['type']
      );

      $addition[$field['field_name']] = array_merge($info, $elements);
    }
  }

  return $addition;
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.