public function EntityLabel::render in Drupal 8
Same name and namespace in other branches
- 9 core/modules/views/src/Plugin/views/field/EntityLabel.php \Drupal\views\Plugin\views\field\EntityLabel::render()
Renders the field.
Parameters
\Drupal\views\ResultRow $values: The values retrieved from a single row of a view's query result.
Return value
string|\Drupal\Component\Render\MarkupInterface The rendered output. If the output is safe it will be wrapped in an object that implements MarkupInterface. If it is empty or unsafe it will be a string.
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\fieldCode
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 $entity \Drupal\Core\Entity\EntityInterface */
$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());
}