/** * Get a breadcrumb * * Gets an array of pages representing a tree path to a current page. * * @param int $pageId * @return \Ip\Page[] */ public function getBreadcrumb($pageId = null) { if ($pageId !== null) { $page = new \Ip\Page($pageId); } else { $page = ipContent()->getCurrentPage(); } if ($page) { $pages[] = $page; $parentPageId = $page->getParentId(); while (!empty($parentPageId)) { $parentPage = new \Ip\Page($parentPageId); $pages[] = $parentPage; $parentPageId = $parentPage->getParentId(); } } $breadcrumb = array(); if (!empty($pages)) { array_pop($pages); $breadcrumb = $pages; } $breadcrumb = array_reverse($breadcrumb); $breadcrumb = ipFilter('ipBreadcrumb', $breadcrumb); return $breadcrumb; }