diff --git a/core/lib/Drupal/Core/Breadcrumb/Breadcrumb.php b/core/lib/Drupal/Core/Breadcrumb/Breadcrumb.php index fc1906ad93..c73668a847 100644 --- a/core/lib/Drupal/Core/Breadcrumb/Breadcrumb.php +++ b/core/lib/Drupal/Core/Breadcrumb/Breadcrumb.php @@ -65,6 +65,24 @@ public function addLink(Link $link) { return $this; } + /** + * Removes a link by route name from the ordered list of breadcrumb links. + * + * @param \Drupal\Core\Link $link + * The link removed from the breadcrumb. + * + * @return $this + */ + public function removeLink(Link $link) { + foreach ($this->links as $key => $value) { + if ($value->getUrl()->getRouteName() == $link->getUrl()->getRouteName() && $value->getUrl()->getRouteParameters() === $link->getUrl()->getRouteParameters()) { + unset($this->links[$key]); + } + } + + return $this; + } + /** * {@inheritdoc} */