Skip to content

Instantly share code, notes, and snippets.

@henrijs
Forked from kevinquillen/gist:4235124
Last active November 22, 2019 21:40
Show Gist options
  • Save henrijs/6225177 to your computer and use it in GitHub Desktop.
Save henrijs/6225177 to your computer and use it in GitHub Desktop.
function themename_menu_link(&$variables) {
$element = $variables['element'];
$sub_menu = '';
$element['#attributes']['data-menu-parent'] = $element['#original_link']['menu_name'] . '-' . $element['#original_link']['depth'];
if ($element['#below']) {
$sub_menu = drupal_render($element['#below']);
}
$output = l($element['#title'], $element['#href'], $element['#localized_options']);
return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
}
function themename_preprocess_menu_tree(&$variables) {
$tree = new DOMDocument();
@$tree->loadHTML($variables['tree']);
$links = $tree->getElementsByTagname('li');
$parent = '';
foreach ($links as $link) {
$parent = $link->getAttribute('data-menu-parent');
break;
}
$variables['menu_parent'] = $parent;
}
function themename_menu_tree(&$variables) {
return '<ul class="menu ' . $variables['menu_parent'] . '">' . $variables['tree'] . '</ul>';
}
@lmeurs
Copy link

lmeurs commented Oct 19, 2014

Thanks, great gist!

@shahmeerarshad
Copy link

im a newbie to drupal
all i want to ask is what should i print in my page.tpl.php file in order to print the menu generated by the above code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment