| 5 menu.module | menu_parent_options( |
| 6 menu.module | menu_parent_options($menus, $item) |
| 7 menu.module | menu_parent_options($menus, $item, $type = '') |
| 8 menu.module | menu_parent_options($menus, $item, $type = '') |
Return a list of menu items that are valid possible parents for the given menu item.
Parameters
$menus: An array of menu names and titles, such as from menu_get_menus().
$item: The menu item for which to generate a list of parents. If $item['mlid'] == 0 then the complete tree is returned.
Return value
An array of menu link titles keyed on the a string containing the menu name and mlid. The list excludes the given item and its children.
2 calls to menu_parent_options()
File
- modules/
menu/ menu.module, line 208 - Allows administrators to customize the site navigation menu.
Code
function menu_parent_options($menus, $item) {
// The menu_links table can be practically any size and we need a way to
// allow contrib modules to provide more scalable pattern choosers.
// hook_form_alter is too late in itself because all the possible parents are
// retrieved here, unless menu_override_parent_selector is set to TRUE.
if (variable_get('menu_override_parent_selector', FALSE)) {
return array();
}
// If the item has children, there is an added limit to the depth of valid parents.
if (isset($item['parent_depth_limit'])) {
$limit = $item['parent_depth_limit'];
}
else {
$limit = _menu_parent_depth_limit($item);
}
foreach ($menus as $menu_name => $title) {
$tree = menu_tree_all_data($menu_name, NULL);
$options[$menu_name . ':0'] = '<' . $title . '>';
_menu_parents_recurse($tree, $menu_name, '--', $options, $item['mlid'], $limit);
}
return $options;
}
Login or register to post comments