Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Attachment.php

function Attachment::attachTo

Overrides DisplayPluginBase::attachTo

File

core/modules/views/src/Plugin/views/display/Attachment.php, line 239

Class

Attachment
The plugin that handles an attachment display.

Namespace

Drupal\views\Plugin\views\display

Code

public function attachTo(ViewExecutable $view, $display_id, array &$build) {
    $displays = $this->getOption('displays');
    if (empty($displays[$display_id])) {
        return;
    }
    if (!$this->access()) {
        return;
    }
    $args = $this->getOption('inherit_arguments') ? $this->view->args : [];
    $view->setArguments($args);
    $view->setDisplay($this->display['id']);
    if ($this->getOption('inherit_pager')) {
        $view->display_handler->usesPager = $this->view->displayHandlers
            ->get($display_id)
            ->usesPager();
        $view->display_handler
            ->setOption('pager', $this->view->displayHandlers
            ->get($display_id)
            ->getOption('pager'));
    }
    $attachment = $view->buildRenderable($this->display['id'], $args);
    switch ($this->getOption('attachment_position')) {
        case 'before':
            $this->view->attachment_before[] = $attachment;
            break;
        case 'after':
            $this->view->attachment_after[] = $attachment;
            break;
        case 'both':
            $this->view->attachment_before[] = $attachment;
            $this->view->attachment_after[] = $attachment;
            break;
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal