我有一个非常相似的问题,试图弄清楚如何正确命名我的模板和钩子。谷歌搜索没有帮助(噪音太大),但最终我尝试了drupal.org 上的菜单块模块文档,它引导我朝着正确的方向前进......
模板:menu-block-wrapper--main-menu.tpl.php
<nav role="navigation" id="siteNavigation">
<?php echo render($content); ?>
</nav>
钩子:THEMENAME_menu_tree__menu_block__MENUNAME()
和THEMENAME_menu_link__menu_block__MENUNAME()
:
function THEME_menu_tree__menu_block__main_menu($vars) {
return '<ul class="my-custom-menu-wrapper">' . $vars['tree'] . '</ul>';
}
function THEME_menu_link__menu_block__main_menu($data) {
$el = $data['element'];
// ... render any classes or other attributes that need to go in this <li>
$attr = drupal_attributes($el['#attributes']);
// ... render the menu link
$link = l($el['#title'], $el['#href'], $el['#localized_options']);
// ... and render any submenus
$sub_menu = drupal_render($el['#below']);
return sprintf("\n<li %s>%s %s</li>", $attr, $link, $sub_menu);
}