You are here

class SystemBreadcrumbBlock in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/system/src/Plugin/Block/SystemBreadcrumbBlock.php \Drupal\system\Plugin\Block\SystemBreadcrumbBlock
  2. 9 core/modules/system/src/Plugin/Block/SystemBreadcrumbBlock.php \Drupal\system\Plugin\Block\SystemBreadcrumbBlock

Provides a block to display the breadcrumbs.

Plugin annotation


@Block(
  id = "system_breadcrumb_block",
  admin_label = @Translation("Breadcrumbs")
)

Hierarchy

Expanded class hierarchy of SystemBreadcrumbBlock

File

core/modules/system/src/Plugin/Block/SystemBreadcrumbBlock.php, line 19

Namespace

Drupal\system\Plugin\Block
View source
class SystemBreadcrumbBlock extends BlockBase implements ContainerFactoryPluginInterface {

  /**
   * The breadcrumb manager.
   *
   * @var \Drupal\Core\Breadcrumb\BreadcrumbBuilderInterface
   */
  protected $breadcrumbManager;

  /**
   * The current route match.
   *
   * @var \Drupal\Core\Routing\RouteMatchInterface
   */
  protected $routeMatch;

  /**
   * Constructs a new SystemBreadcrumbBlock object.
   *
   * @param array $configuration
   *   A configuration array containing information about the plugin instance.
   * @param string $plugin_id
   *   The plugin_id for the plugin instance.
   * @param mixed $plugin_definition
   *   The plugin implementation definition.
   * @param \Drupal\Core\Breadcrumb\BreadcrumbBuilderInterface $breadcrumb_manager
   *   The breadcrumb manager.
   * @param \Drupal\Core\Routing\RouteMatchInterface $route_match
   *   The current route match.
   */
  public function __construct(array $configuration, $plugin_id, $plugin_definition, BreadcrumbBuilderInterface $breadcrumb_manager, RouteMatchInterface $route_match) {
    parent::__construct($configuration, $plugin_id, $plugin_definition);
    $this->breadcrumbManager = $breadcrumb_manager;
    $this->routeMatch = $route_match;
  }

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
    return new static($configuration, $plugin_id, $plugin_definition, $container
      ->get('breadcrumb'), $container
      ->get('current_route_match'));
  }

  /**
   * {@inheritdoc}
   */
  public function build() {
    return $this->breadcrumbManager
      ->build($this->routeMatch)
      ->toRenderable();
  }

}

Members