protected function MenutrailbypathBreadcrumb::setActiveTrail in Menu Trail By Path 7.3
Sets the active_trail by path
1 call to MenutrailbypathBreadcrumb::setActiveTrail()
- MenutrailbypathBreadcrumb::setBreadcrumb in src/
MenutrailbypathBreadcrumb.inc - Sets the breadcrumb by path
File
- src/
MenutrailbypathBreadcrumb.inc, line 88
Class
Code
protected function setActiveTrail() {
$active_trail = array();
$trail_paths = $this->pathHelper
->getPaths();
$trail_menu_links = $this->menuHelper
->getMenuLinksByPaths($trail_paths);
$breadcrumb_menu_links = $this
->groupMenuLinksByPath($trail_menu_links);
// First breadcrumb is always Home.
$active_trail[] = array(
'title' => t('Home'),
'href' => '<front>',
'localized_options' => array(),
'type' => 0,
);
// Add links for the trail-paths
foreach ($trail_paths as $trail_path) {
$menu_link = NULL;
$router_item = menu_get_item($trail_path);
if (!empty($breadcrumb_menu_links[$trail_path]->link_title)) {
$menu_link = (array) $breadcrumb_menu_links[$trail_path];
$menu_link['external'] = 1;
$menu_link['type'] = $router_item['type'];
_menu_link_translate($menu_link);
}
else {
$menu_link = array(
'title' => isset($router_item['title']) ? $router_item['title'] : '',
'href' => $trail_path,
'localized_options' => array(),
'type' => MENU_NORMAL_ITEM,
);
}
if (!empty($menu_link)) {
$active_trail[] = $menu_link;
}
}
menu_set_active_trail($active_trail);
}