function custom_breadcrumbs_set_menu_breadcrumb in Custom Breadcrumbs 7.2
Same name and namespace in other branches
- 6.2 custom_breadcrumbs.module \custom_breadcrumbs_set_menu_breadcrumb()
Sets the breadcrumb trail to match the menu structure.
This function uses the same approach as in the menu_breadcrumb module.
3 calls to custom_breadcrumbs_set_menu_breadcrumb()
- custom_breadcrumbs_init in ./
custom_breadcrumbs.module - Implements hook_init().
- custom_breadcrumbs_panels_ctools_render_alter in custom_breadcrumbs_panels/
custom_breadcrumbs_panels.module - Implements hook_ctools_render_alter().
- custom_breadcrumbs_views_views_post_render in custom_breadcrumbs_views/
custom_breadcrumbs_views.module - Implements hook_views_post_render().
4 string references to 'custom_breadcrumbs_set_menu_breadcrumb'
- custom_breadcrumbs_admin_settings in ./
custom_breadcrumbs.admin.inc - Admin Settings.
- custom_breadcrumbs_init in ./
custom_breadcrumbs.module - Implements hook_init().
- custom_breadcrumbs_panels_ctools_render_alter in custom_breadcrumbs_panels/
custom_breadcrumbs_panels.module - Implements hook_ctools_render_alter().
- custom_breadcrumbs_views_views_post_render in custom_breadcrumbs_views/
custom_breadcrumbs_views.module - Implements hook_views_post_render().
File
- ./
custom_breadcrumbs.module, line 891 - Main file for the Custom breadcrumbs.
Code
function custom_breadcrumbs_set_menu_breadcrumb() {
static $menu_id_cache = array();
$menu_item = menu_get_item();
if (!$menu_item) {
return FALSE;
}
$ckey = $menu_item['href'];
if (!isset($menu_id_cache[$ckey])) {
$result = db_query("SELECT mlid, menu_name FROM {menu_links} WHERE link_path = :link_path", array(
':link_path' => $menu_item['href'],
));
$menu_link_menus = array();
foreach ($result as $menu_link) {
$menu_link_menus[$menu_link->mlid] = $menu_link->menu_name;
}
$menu_id_cache[$ckey] = $menu_link_menus;
}
$menu_links = $menu_id_cache[$ckey];
$use_menus = variable_get('custom_breadcrumbs_menu_list', array());
foreach ($menu_links as $menu_name) {
if (in_array($menu_name, $use_menus)) {
menu_set_active_menu_names($menu_name);
$breadcrumb = menu_get_active_breadcrumb();
if (variable_get('custom_breadcrumbs_append_page_title', FALSE) && !drupal_is_front_page()) {
$title = drupal_get_title();
if (variable_get('custom_breadcrumbs_append_page_title_no_link', FALSE)) {
$breadcrumb[] = $title;
}
else {
$breadcrumb[] = l($title, $_GET['q'], array(
'html' => TRUE,
));
}
}
drupal_set_breadcrumb($breadcrumb);
return TRUE;
}
}
}