1 admin_bar.inc | admin_bar_translate($router_item, $map) |
Translate an expanded router item into a menu link suitable for rendering.
Parameters
$router_item: A menu router item.
$map: A path map with placeholders replaced.
File
- core/
modules/ admin_bar/ admin_bar.inc, line 379 - Menu builder functions for Administration bar.
Code
function admin_bar_translate($router_item, $map) {
_menu_translate($router_item, $map, TRUE);
// Run through hook_translated_menu_link_alter() to add devel information,
// if configured.
$router_item['menu_name'] = 'management';
// @todo Invoke as usual like _menu_link_translate().
admin_bar_translated_menu_link_alter($router_item, NULL);
if ($router_item['access']) {
// Override mlid to make this item unique; since these items are expanded
// from dynamic items, the mlid is always the same, so each item would
// replace any other.
// @todo Doing this instead leads to plenty of duplicate links below
// admin/structure/menu; likely a hidden recursion problem.
// $router_item['mlid'] = $router_item['href'] . $router_item['mlid'];
$router_item['mlid'] = $router_item['href'];
// Turn menu callbacks into regular menu items to make them visible.
if ($router_item['type'] == MENU_CALLBACK) {
$router_item['type'] = MENU_NORMAL_ITEM;
}
// @see _menu_tree_check_access()
$key = (50000 + $router_item['weight']) . ' ' . $router_item['title'] . ' ' . $router_item['mlid'];
return array($key => array(
'link' => $router_item,
'below' => array(),
));
}
return array();
}