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. 10 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.