public function applies(RouteMatchInterface
$route_match) { return $route_match->
getRouteName() == 'entity.taxonomy_term.canonical'
&&
$route_match->
getParameter('taxonomy_term'
) instanceof TermInterface;
} /**
* {@inheritdoc}
*/
public function build(RouteMatchInterface
$route_match) { $breadcrumb =
new Breadcrumb();
$breadcrumb->
addLink(Link::
createFromRoute($this->
t('Home'
), '<front>'
));
$term =
$route_match->
getParameter('taxonomy_term'
);
// Breadcrumb needs to have terms cacheable metadata as a cacheable
// dependency even though it is not shown in the breadcrumb because e.g. its
// parent might have changed.
$breadcrumb->
addCacheableDependency($term);
// @todo This overrides any other possible breadcrumb and is a pure
// hard-coded presumption. Make this behavior configurable per
// vocabulary or term.
$parents =
$this->entityTypeManager->
getStorage('taxonomy_term'
)->
loadAllParents($term->
id());
// Remove current term being accessed.