function EntityLabel::render

Same name and namespace in other branches
  1. 9 core/modules/views/src/Plugin/views/field/EntityLabel.php \Drupal\views\Plugin\views\field\EntityLabel::render()
  2. 8.9.x core/modules/views/src/Plugin/views/field/EntityLabel.php \Drupal\views\Plugin\views\field\EntityLabel::render()
  3. 11.x core/modules/views/src/Plugin/views/field/EntityLabel.php \Drupal\views\Plugin\views\field\EntityLabel::render()

Overrides FieldPluginBase::render

File

core/modules/views/src/Plugin/views/field/EntityLabel.php, line 98

Class

EntityLabel
Field handler to display entity label optionally linked to entity page.

Namespace

Drupal\views\Plugin\views\field

Code

public function render(ResultRow $values) {
  $type = $this->getValue($values, $this->definition['entity type field']);
  $value = $this->getValue($values);
  if (empty($this->loadedReferencers[$type][$value])) {
    return;
  }
  /** @var \Drupal\Core\Entity\EntityInterface $entity */
  $entity = $this->loadedReferencers[$type][$value];
  if (!empty($this->options['link_to_entity'])) {
    try {
      $this->options['alter']['url'] = $entity->toUrl();
      $this->options['alter']['make_link'] = TRUE;
    } catch (UndefinedLinkTemplateException $e) {
      $this->options['alter']['make_link'] = FALSE;
    } catch (EntityMalformedException $e) {
      $this->options['alter']['make_link'] = FALSE;
    }
  }
  return $this->sanitizeValue($entity->label());
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.