You are here

public function Rss::attachTo in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/views/src/Plugin/views/style/Rss.php \Drupal\views\Plugin\views\style\Rss::attachTo()

File

core/modules/views/src/Plugin/views/style/Rss.php, line 28

Class

Rss
Default style plugin to render an RSS feed.

Namespace

Drupal\views\Plugin\views\style

Code

public function attachTo(array &$build, $display_id, Url $feed_url, $title) {
  $url_options = [];
  $input = $this->view
    ->getExposedInput();
  if ($input) {
    $url_options['query'] = $input;
  }
  $url_options['absolute'] = TRUE;
  $url = $feed_url
    ->setOptions($url_options)
    ->toString();

  // Add the RSS icon to the view.
  $this->view->feedIcons[] = [
    '#theme' => 'feed_icon',
    '#url' => $url,
    '#title' => $title,
  ];

  // Attach a link to the RSS feed, which is an alternate representation.
  $build['#attached']['html_head_link'][][] = [
    'rel' => 'alternate',
    'type' => 'application/rss+xml',
    'title' => $title,
    'href' => $url,
  ];
}