You are here

public function Url::render in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/views/src/Plugin/views/field/Url.php \Drupal\views\Plugin\views\field\Url::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/Url.php, line 45

Class

Url
Field handler to provide simple renderer that turns a URL into a clickable link.

Namespace

Drupal\views\Plugin\views\field

Code

public function render(ResultRow $values) {
  $value = $this
    ->getValue($values);
  if (!empty($this->options['display_as_link'])) {

    // @todo Views should expect and store a leading /. See:
    //   https://www.drupal.org/node/2423913
    return Link::fromTextAndUrl($this
      ->sanitizeValue($value), CoreUrl::fromUserInput('/' . $value))
      ->toString();
  }
  else {
    return $this
      ->sanitizeValue($value, 'url');
  }
}