You are here

function select2widget_render_entity in Select2 Field Widget 7.2

Render single entity

Parameters

$entity_type:

$entity:

$view_mode:

Return value

array

1 call to select2widget_render_entity()
select2widget_render_modes in ./select2widget.entityreference.inc
Render entities using display mode

File

./select2widget.entityreference.inc, line 237

Code

function select2widget_render_entity($entity_type, $entity, $view_mode = 'full') {
  $entity->select2widget = TRUE;
  $entity_array = array(
    'id' => NULL,
    'title' => NULL,
    'data' => NULL,
  );

  // Allow just the entity label to be returned.
  if ($view_mode == 'select2widget_labels') {
    $entity_id = entity_id($entity_type, $entity);
    $entity_label = entity_label($entity_type, $entity);
    $entity_array['id'] = $entity_id;
    $entity_array['title'] = $entity_label . " - " . $entity_id;
    $entity_array['data'] = array(
      '#markup' => $entity_label,
    );
    return $entity_array;
  }
  switch ($entity_type) {
    case "node":
      $entity_array['id'] = $entity->nid;
      $entity_array['title'] = $entity->title . " - " . $entity->nid;
      $entity_array['data'] = node_view($entity, $view_mode);
      break;
    case "user":
      $entity_array['id'] = $entity->uid;
      $entity_array['title'] = $entity->name . " - " . $entity->uid;
      $entity_array['data'] = user_view($entity, $view_mode);
      break;
    case "taxonomy_term":
      $entity_array['id'] = $entity->tid;
      $entity_array['title'] = $entity->name . " - " . $entity->tid;
      $entity_array['data'] = taxonomy_term_view($entity, $view_mode);
      break;
    default:
      $entity_id = entity_id($entity_type, $entity);
      $entity_label = entity_label($entity_type, $entity);
      $entity_array['id'] = $entity_id;
      $entity_array['title'] = $entity_label . " - " . $entity_id;
      $entity_array['data'] = entity_view($entity_type, array(
        $entity,
      ), $view_mode);
  }
  return $entity_array;
}