function Opml::attachTo

Same name in other branches
  1. 9 core/modules/views/src/Plugin/views/style/Opml.php \Drupal\views\Plugin\views\style\Opml::attachTo()
  2. 10 core/modules/views/src/Plugin/views/style/Opml.php \Drupal\views\Plugin\views\style\Opml::attachTo()
  3. 11.x core/modules/views/src/Plugin/views/style/Opml.php \Drupal\views\Plugin\views\style\Opml::attachTo()

File

core/modules/views/src/Plugin/views/style/Opml.php, line 30

Class

Opml
Default style plugin to render an OPML feed.

Namespace

Drupal\views\Plugin\views\style

Code

public function attachTo(array &$build, $display_id, Url $feed_url, $title) {
    $display = $this->view->displayHandlers
        ->get($display_id);
    $url_options = [];
    $input = $this->view
        ->getExposedInput();
    if ($input) {
        $url_options['query'] = $input;
    }
    $url_options['absolute'] = TRUE;
    $url = $feed_url->setOptions($url_options)
        ->toString();
    if ($display->hasPath()) {
        if (empty($this->preview)) {
            $build['#attached']['feed'][] = [
                $url,
                $title,
            ];
        }
    }
    else {
        $this->view->feedIcons[] = [
            '#theme' => 'feed_icon',
            '#url' => $url,
            '#title' => $title,
        ];
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.