You are here

public function Recipe::attachTo in Recipe 8.2

Allows displays to attach to other views.

Parameters

\Drupal\views\ViewExecutable $view: The views executable.

string $display_id: The display to attach to.

array $build: The parent view render array.

Overrides DisplayPluginBase::attachTo

File

src/Plugin/views/display/Recipe.php, line 257

Class

Recipe
The plugin that handles a recipe format, such as RecipeML.

Namespace

Drupal\recipe\Plugin\views\display

Code

public function attachTo(ViewExecutable $clone, $display_id, array &$build) {
  $displays = $this
    ->getOption('displays');
  if (empty($displays[$display_id])) {
    return;
  }

  // Defer to the feed style; it may put in meta information, and/or
  // attach a feed icon.
  $clone
    ->setArguments($this->view->args);
  $clone
    ->setDisplay($this->display['id']);
  $clone
    ->buildTitle();
  if ($plugin = $clone->display_handler
    ->getPlugin('style')) {
    $plugin
      ->attachTo($build, $display_id, $clone
      ->getUrl(), $clone
      ->getTitle());
  }

  // Clean up.
  $clone
    ->destroy();
  unset($clone);
}