How to print a custom menu in Drupal 7?

2019-03-12 13:58发布

问题:

I have created a menu in Drupal 7 and created links to pages under that menu.

I named my new menu "Site Menu"

In my page.tpl.php where I want my menu to appear I have put this in place:

<?php print theme('links', menu_navigation_links('menu-site-menu')); ?>

After I have cleared my cache and refreshed my page my menu doesn't appear.

I am stumped. Any help would be greatly appreciated.

回答1:

Berdir answer is correct. Drupal 7 theme_links function also more vastly uses arrays. For example if you would like to add another class name to the so that it is you would code it like this:

<?php print theme('links', array('links' => menu_navigation_links('menu-site-menu'), 'attributes' => array('class'=> array('links', 'site-menu')) ));?>


回答2:

theme() now recieves an array of arguments. For example:

<?php
print theme('links', array('links' => menu_navigation_links('menu-site-menu')));
?>


回答3:

Well, it is bit confusing from above solutions to print menu. But below code worked for me, hope this will work for y'all,

    $search_menu_name = "menu-search-box-menu";

   print theme('links', array('links' => menu_navigation_links($search_menu_name), 'attributes' => array('id' => $search_menu_name, 'class'=> array('links', 'inline'))));

The above code is like this, "menu-search-box-menu" is my custom menu name/ID. You can find it in that particular menu edit link.

Enjoy. :)



标签: drupal menu