首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >YOUR_THEMENAME_menu_tree__YOUR_MENUNAME不工作

YOUR_THEMENAME_menu_tree__YOUR_MENUNAME不工作
EN

Stack Overflow用户
提问于 2013-06-04 21:29:04
回答 1查看 392关注 0票数 0

我有一个自定义菜单叫做“页脚”,机器可读的名字是“菜单-页脚”。并且我想覆盖菜单的theme_menu_tree()函数。我的主题名称是"abc",所以我尝试了abc_menu_tree__menu_footer(),但它不起作用。但是修改abc_menu_tree()是可行的,所以它必须与覆盖自定义菜单有关。

我检查了这个Question,但是它不工作。为了允许覆盖自定义菜单,我需要做什么吗?

提前感谢您的帮助。

编辑:

函数代码如下:

代码语言:javascript
复制
function abc_menu_tree__menu_footer($variables) {
  return '<nav class="sub-navigation"><ul>' . $variables['tree'] . '</ul></nav>';
}

abc_menu_link__menu_footer()也不能被覆盖。在abc_menu_link()中,您可以检查上下文,因此这不是一个大问题。如果我检查元素的主题是否为"menu_link__menu_footer“,它是否适用于菜单链接。

Edit2:

我也不能覆盖主菜单的abc_menu_tree。abc_menu_tree__main_menu不工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-12 18:22:04

为了在主菜单上使用THEME_menu_tree,而不是使用THEME_menu_tree__main_menu(),您需要使用THEME_menu_tree__primary()

这是因为提供主要链接的菜单是在admin/structure/ menu /settings中定义的。

在深入研究基数主题的radix_preprocess_page()函数时,我想到了这一点,在该函数中,通过使用variable_get()设置了主菜单变量,以便在page.tpl.php中使用。好了!我们很容易忘记那些微小的配置。

所以是的。THEME_menu_tree__primary()和THEME_menu_tree__secondary()可能就是您要查找的函数!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16919200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档