You are here

public function entity_views_handler_field_entity::render_single_value in Entity API 7

Render a single field value.

1 call to entity_views_handler_field_entity::render_single_value()
entity_views_handler_field_entity::render_entity_link in views/handlers/entity_views_handler_field_entity.inc
Render a value as a link to the entity if applicable.

File

views/handlers/entity_views_handler_field_entity.inc, line 181
Contains the entity_views_handler_field_entity class.

Class

entity_views_handler_field_entity
A handler to provide proper displays for entities retrieved via data selection.

Code

public function render_single_value($entity, $values) {
  $type = $this->field_entity_type;
  if (!is_object($entity) && isset($entity) && $entity !== FALSE) {
    $entity = entity_load_single($type, $entity);
  }

  // Make sure the entity exists and access is either given or bypassed.
  if (!$entity || !(!empty($this->options['bypass_access']) || entity_access('view', $type, $entity))) {
    return '';
  }
  if ($this->options['display'] === 'view') {
    $entity_view = entity_view($type, array(
      $entity,
    ), $this->options['view_mode']);
    return render($entity_view);
  }
  if ($this->options['display'] == 'label') {
    $value = entity_label($type, $entity);
  }

  // Either $options[display] == 'id', or we have no label.
  if (empty($value)) {
    $value = entity_id($type, $entity);
  }
  $value = $this
    ->sanitize_value($value);
  return $value;
}