查看节点时激活菜单中的分类词

3
我正在使用Drupal 7和Commerce创建一个网店,但卡在了某个地方。当查看产品节点时,我想要激活名为“category”的词汇表中的一个分类术语。所以当我查看一个书籍产品节点时,“Webshop>>图书”菜单项需要被突出显示为“active”。
我尝试过menu_set_active_item,但这将覆盖$_GET ['q']参数,这不好,因为它会影响页面内容。当我使用它时,分类术语被显示而不是节点,这不是我想要的。我只想激活菜单项。
我认为解决方法是使用 menu_set_active_trail menu_tree_set_path,但我无法让它工作。也许有人可以向我展示一个例子?也许我只是使用了错误的钩子?

PS:我正在使用menu_block来呈现菜单。

1个回答

2

好的,我已经搞定了。

棘手的问题在于函数menu_tree_set_path()将在Drupal 7.9中可用...由于我只有7.8(最新官方版本),所以它没有起作用。我能够更新到7.x-dev,因为我还在开发,这解决了我的问题。

那么,在Drupal 7.9及以上版本中应该如何正确地实现呢?

/*
 * 实现hook_node_view()
 */
function MYMODULE_node_view($node, $view_mode, $langcode) {
  menu_tree_set_path('main-menu', 'taxonomy/term/1');
}

欲了解更多信息,请访问http://api.drupal.org/api/drupal/includes--menu.inc/function/menu_tree_set_path/7


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接