You are here

protected function LinkFormatter::buildUrl in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php \Drupal\link\Plugin\Field\FieldFormatter\LinkFormatter::buildUrl()

Builds the \Drupal\Core\Url object for a link field item.

Parameters

\Drupal\link\LinkItemInterface $item: The link field item being rendered.

Return value

\Drupal\Core\Url An Url object.

2 calls to LinkFormatter::buildUrl()
LinkFormatter::viewElements in core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php
Builds a renderable array for a field value.
LinkSeparateFormatter::viewElements in core/modules/link/src/Plugin/Field/FieldFormatter/LinkSeparateFormatter.php
Builds a renderable array for a field value.

File

core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php, line 245
Contains \Drupal\link\Plugin\Field\FieldFormatter\LinkFormatter.

Class

LinkFormatter
Plugin implementation of the 'link' formatter.

Namespace

Drupal\link\Plugin\Field\FieldFormatter

Code

protected function buildUrl(LinkItemInterface $item) {
  $url = $item
    ->getUrl() ?: Url::fromRoute('<none>');
  $settings = $this
    ->getSettings();
  $options = $item->options;

  // Add optional 'rel' attribute to link options.
  if (!empty($settings['rel'])) {
    $options['attributes']['rel'] = $settings['rel'];
  }

  // Add optional 'target' attribute to link options.
  if (!empty($settings['target'])) {
    $options['attributes']['target'] = $settings['target'];
  }
  $url
    ->setOptions($options);
  return $url;
}