查看节点时,在菜单中激活分类术语

时间:2011-10-19 06:25:18

标签: drupal menu taxonomy

我正在使用Commerce在Drupal 7中创建一个网上商店,但我坚持不懈。 当我查看我的产品节点时,我想激活一个名为“category”的词汇表中的分类术语。因此,当我查看作为书籍的产品节点时,“网上商店”的菜单项>书籍需要突出显示为“活跃”。

我已经尝试了 menu_set_active_item ,但这会覆盖 $ _ GET ['q'] 参数,因为它会影响页面内容。当我使用它时,分类术语显示在节点的内部,这不是我想要的。我只想激活菜单中的项目。

我认为要走的路是使用 menu_set_active_trail menu_tree_set_path ,但我无法让它发挥作用。也许有人可以给我一个例子?也许我只是使用了错误的钩子?

PS:我正在使用 menu_block 来渲染菜单。

1 个答案:

答案 0 :(得分:2)

好的,我让它运转了。

棘手的是,函数 menu_tree_set_path() 将在Drupal 7.9中可用...由于我只有7.8(最新的正式版本),它无效。我能够更新到7.x-dev因为我还在开发并解决了我的问题。

那么,使用Drupal 7.9及以上版本的正确方法是什么?

/*
 * Implements of 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