You are here

public function BreadcrumbBuilder::build in Filebrowser 3.x

Same name and namespace in other branches
  1. 8.2 src/Breadcrumb/BreadcrumbBuilder.php \Drupal\filebrowser\Breadcrumb\BreadcrumbBuilder::build()

@inheritdoc

Overrides BreadcrumbBuilderInterface::build

File

src/Breadcrumb/BreadcrumbBuilder.php, line 51

Class

BreadcrumbBuilder

Namespace

Drupal\filebrowser\Breadcrumb

Code

public function build(RouteMatchInterface $route_match) {

  /** @var \Drupal\node\NodeInterface $node */
  $breadcrumb = new Breadcrumb();
  $this->node = $this->common
    ->getNodeFromPath();
  $title = $this->node
    ->getTitle();
  $fid = \Drupal::request()->query
    ->get('fid');
  if (isset($fid)) {
    $content = $this->storage
      ->loadAllRecordsFromRoot($this->node
      ->id());
  }
  else {
    $content = !empty($content) ? $content : [
      'path' => '/',
    ];
  }
  $links = $this
    ->buildLinks($title, $content, $fid);
  $breadcrumb
    ->setLinks($links);
  $breadcrumb
    ->addCacheContexts([
    'url',
    'url.query_args',
  ]);
  return $breadcrumb;
}