You are here

function efq_views_handler_field_entity::render_link in EntityFieldQuery Views Backend 7

Render whatever the data is as a link to the entity.

Data should be made XSS safe prior to calling this function.

1 call to efq_views_handler_field_entity::render_link()
efq_views_handler_field_entity::render in handlers/efq_views_handler_field_entity.inc
Maps the entity keys to real returned data (for example: entity_id => nid, for node).

File

handlers/efq_views_handler_field_entity.inc, line 38

Class

efq_views_handler_field_entity
Field handler for entity keys.

Code

function render_link($data, $values) {
  if (!empty($this->options['link_to_entity']) && $data !== NULL && $data !== '') {
    $entity_uri = entity_uri($values->entity_type, $values);
    $this->options['alter']['make_link'] = TRUE;
    $this->options['alter']['path'] = $entity_uri['path'];
    $this->options['alter'] += $entity_uri['options'];
    if (isset($this->aliases['language'])) {
      $languages = language_list();
      if (isset($languages[$values->{$this->aliases['language']}])) {
        $this->options['alter']['language'] = $languages[$values->{$this->aliases['language']}];
      }
      else {
        unset($this->options['alter']['language']);
      }
    }
  }
  else {
    $this->options['alter']['make_link'] = FALSE;
  }
  return $data;
}