我试图弄清楚如何指定用于系统菜单的自定义菜单。我知道我可以在 tpl 中包含自定义菜单,但要覆盖 system_main_menu 并告诉它使用不同的菜单。我假设我会在预处理函数中执行此操作,但对 Drupal 来说是新手,不知道从哪里开始。谷歌搜索后,我发现:
links__system_main_menu
猜测这就是我将用于预处理功能的内容,但需要知道如何告诉它使用哪个自定义菜单。
编辑:
或者也许更好的问题是如何使用自定义菜单之一为主题定义系统主菜单。
进入你的管理员
管理/结构/菜单/设置
在那里你可以设置默认主菜单
更新:这是我在drupal.org上找到的
function yourtheme_menu_link__main_menu(array $variables) {
$element = $variables['element'];
$sub_menu = '';
if ($element['#below']) {
$sub_menu = drupal_render($element['#below']);
}
$element['#localized_options']['html'] = TRUE;
$linktext = '<span class="your_class">' . $element['#title'] . '</span>';
$output = l($linktext, $element['#href'], $element['#localized_options']);
return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
}
公关