/** * @param Section $section */ protected function addBreadcrumb(Section $section) { if ($section->isRoot()) { return; } if (!is_null($parent = $section->getRootSection())) { $this->addBreadcrumb($parent); } $this->breadcrumbs->add($section->getName(), $section->getUrl()); }
/** * @param $title * @param string|null $url * @return $this */ protected function setTitle($title, $url = NULL) { $this->breadcrumbs->add($title, $url); return parent::setTitle($title); }
/** * @param int $level * @return Breadcrumbs */ public function getBreadcrumbs($level = 0) { $crumbs = Breadcrumbs::factory(); if (($parent = $this->getParent()) instanceof FrontendPage and $this->level > $level) { $this->getParent()->recurseBreadcrumbs($level, $crumbs); } $crumbs->add($this->getBreadcrumb(), $this->getUrl(), true, null); return $crumbs; }