/** * {@inheritdoc} */ public function build(RouteMatchInterface $route_match) { $breadcrumb = parent::build($route_match); $parents = $this->forumManager->getParents($route_match->getParameter('node')->forum_tid); if ($parents) { $parents = array_reverse($parents); foreach ($parents as $parent) { $breadcrumb[] = Link::createFromRoute($parent->label(), 'forum.page', array('taxonomy_term' => $parent->id())); } } return $breadcrumb; }
/** * {@inheritdoc} */ public function build(RouteMatchInterface $route_match) { $breadcrumb = parent::build($route_match); // Add all parent forums to breadcrumbs. $term_id = $route_match->getParameter('taxonomy_term')->id(); $parents = $this->forumManager->getParents($term_id); if ($parents) { foreach (array_reverse($parents) as $parent) { if ($parent->id() != $term_id) { $breadcrumb[] = $this->l($parent->label(), 'forum.page', array('taxonomy_term' => $parent->id())); } } } return $breadcrumb; }
/** * {@inheritdoc} */ public function build(RouteMatchInterface $route_match) { $breadcrumb = parent::build($route_match); $breadcrumb->addCacheContexts(['route']); // Add all parent forums to breadcrumbs. /** @var \Drupal\Taxonomy\TermInterface $term */ $term = $route_match->getParameter('taxonomy_term'); $term_id = $term->id(); $breadcrumb->addCacheableDependency($term); $parents = $this->forumManager->getParents($term_id); if ($parents) { foreach (array_reverse($parents) as $parent) { if ($parent->id() != $term_id) { $breadcrumb->addCacheableDependency($parent); $breadcrumb->addLink(Link::createFromRoute($parent->label(), 'forum.page', ['taxonomy_term' => $parent->id()])); } } } return $breadcrumb; }