public function insertBreadcrumbsUsingPageIdentifier($page_id, $preserve_last = true) { if ($page_id == 0) { return parent::insertBreadcrumbs(array(Widget::Anchor(__('Pages'), SYMPHONY_URL . '/blueprints/pages/'))); } $pages = PageManager::resolvePage($page_id, 'handle'); foreach ($pages as &$page) { // If we are viewing the Page Editor, the Breadcrumbs should link // to the parent's Page Editor. if ($this->_context[0] == 'edit') { $page = Widget::Anchor(PageManager::fetchTitleFromHandle($page), SYMPHONY_URL . '/blueprints/pages/edit/' . PageManager::fetchIDFromHandle($page) . '/'); // If the pages index is nested, the Breadcrumb should link to the // Pages Index filtered by parent } elseif (Symphony::Configuration()->get('pages_table_nest_children', 'symphony') == 'yes') { $page = Widget::Anchor(PageManager::fetchTitleFromHandle($page), SYMPHONY_URL . '/blueprints/pages/?parent=' . PageManager::fetchIDFromHandle($page)); // If there is no nesting on the Pages Index, the breadcrumb is // not a link, just plain text } else { $page = new XMLElement('span', PageManager::fetchTitleFromHandle($page)); } } if (!$preserve_last) { array_pop($pages); } parent::insertBreadcrumbs(array_merge(array(Widget::Anchor(__('Pages'), SYMPHONY_URL . '/blueprints/pages/')), $pages)); }