我创建了一个名为“sub-top-nav”的自定义菜单,现在我想覆盖html输出.特别是我想为每个项目添加一个唯一的类.
这是它的外观:
<div class="clear-block block block-menu" id="block-menu-menu-sub-top-nav"> <div class="content"> <ul class="menu"> <li class="leaf first"><a title="Test 1" href="/test1">Test 1</a></li> <li class="leaf"><a title="Test 2" href="/test2">Test 2</a></li> <li class="leaf active-trail"><a class="active" title="Test 3" href="/test3">Test 3</a></li> <li class="leaf last"><a title="Test 4" href="/test4">Test 4</a></li> </ul> </div> </div>
我想把它改成:
<div class="clear-block block block-menu" id="block-menu-menu-sub-top-nav"> <div class="content"> <ul class="menu"> <li class="leaf test1 first"><a title="Test 1" href="/test1">Test 1</a></li> <li class="leaf test2"><a title="Test 2" href="/test2">Test 2</a></li> <li class="leaf test3 active-trail"><a class="active" title="Test 3" href="/test3">Test 3</a></li> <li class="leaf test4 last"><a title="Test 4" href="/test4">Test 4</a></li> </ul> </div> </div>
这将给我更多的造型力量.
任何想法如何工作?
提前致谢!
解决方法
Drupal 7使用theme_menu_link而不是theme_menu_item
<?PHP function theme_menu_link(array $variables) { $element = $variables['element']; $sub_menu = ''; 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"; } ?>