function menu_link_load in Drupal 7
Same name and namespace in other branches
- 6 includes/menu.inc \menu_link_load()
Gets a translated, access-checked menu link that is ready for rendering.
This function should never be called from within node_load() or any other function used as a menu object load function since an infinite recursion may occur.
Parameters
$mlid: The mlid of the menu item.
Return value
A menu link, with $item['access'] filled and link translated for rendering.
Related topics
9 calls to menu_link_load()
- MenuLinksUnitTestCase::assertMenuLinkParents in modules/
simpletest/ tests/ menu.test - Assert that at set of links is properly parented.
- MenuNodeTestCase::testMenuNodeFormWidget in modules/
menu/ menu.test - Test creating, editing, deleting menu links via node form widget.
- MenuTestCase::getStandardMenuLink in modules/
menu/ menu.test - Get standard menu link.
- MenuTestCase::testMenu in modules/
menu/ menu.test - Login users, add menus and menu links, and test menu functionality through the admin and user interfaces.
- menu_edit_menu_submit in modules/
menu/ menu.admin.inc - Submit function for adding or editing a custom menu.
File
- includes/
menu.inc, line 2685 - API for the Drupal menu system.
Code
function menu_link_load($mlid) {
if (is_numeric($mlid)) {
$query = db_select('menu_links', 'ml');
$query
->leftJoin('menu_router', 'm', 'm.path = ml.router_path');
$query
->fields('ml');
// Weight should be taken from {menu_links}, not {menu_router}.
$query
->addField('ml', 'weight', 'link_weight');
$query
->fields('m');
$query
->condition('ml.mlid', $mlid);
if ($item = $query
->execute()
->fetchAssoc()) {
$item['weight'] = $item['link_weight'];
_menu_link_translate($item);
return $item;
}
}
return FALSE;
}