function BreadcrumbManager::build
Builds the breadcrumb.
Parameters
\Drupal\Core\Routing\RouteMatchInterface $route_match: The current route match.
Return value
\Drupal\Core\Breadcrumb\Breadcrumb A breadcrumb.
Overrides BreadcrumbBuilderInterface::build
File
- 
              core/
lib/ Drupal/ Core/ Breadcrumb/ BreadcrumbManager.php, line 72  
Class
- BreadcrumbManager
 - Provides a breadcrumb manager.
 
Namespace
Drupal\Core\BreadcrumbCode
public function build(RouteMatchInterface $route_match) {
  $breadcrumb = new Breadcrumb();
  $context = [
    'builder' => NULL,
  ];
  // Call the build method of registered breadcrumb builders,
  // until one of them returns an array.
  foreach ($this->getSortedBuilders() as $builder) {
    if (!$builder->applies($route_match)) {
      // The builder does not apply, so we continue with the other builders.
      continue;
    }
    $breadcrumb = $builder->build($route_match);
    if ($breadcrumb instanceof Breadcrumb) {
      $context['builder'] = $builder;
      break;
    }
    else {
      throw new \UnexpectedValueException('Invalid breadcrumb returned by ' . get_class($builder) . '::build().');
    }
  }
  // Allow modules to alter the breadcrumb.
  $this->moduleHandler
    ->alter('system_breadcrumb', $breadcrumb, $route_match, $context);
  return $breadcrumb;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.