function efq_views_handler_field_entity::render in EntityFieldQuery Views Backend 7
Maps the entity keys to real returned data (for example: entity_id => nid, for node).
Overrides views_handler_field::render
File
- handlers/
efq_views_handler_field_entity.inc, line 64
Class
- efq_views_handler_field_entity
- Field handler for entity keys.
Code
function render($values) {
if ($this->field == 'entity_type') {
return $values->entity_type;
}
$entity_info = entity_get_info($values->entity_type);
$id_map = array(
'entity_id' => $entity_info['entity keys']['id'],
'revision_id' => $entity_info['entity keys']['revision'],
'bundle' => $entity_info['entity keys']['bundle'],
);
if ($this->field == 'bundle_label') {
$value = $values->{$id_map['bundle']};
if (isset($entity_info['bundles'][$value]['label'])) {
$value = $entity_info['bundles'][$value]['label'];
}
}
else {
$value = $values->{$id_map[$this->field]};
}
return $this
->render_link(check_plain($value), $values);
}