我正在使用Commerce在Drupal 7中创建一个网上商店,但我坚持不懈。 当我查看我的产品节点时,我想激活一个名为“category”的词汇表中的分类术语。因此,当我查看作为书籍的产品节点时,“网上商店”的菜单项>书籍需要突出显示为“活跃”。
我已经尝试了 menu_set_active_item ,但这会覆盖 $ _ GET ['q'] 参数,因为它会影响页面内容。当我使用它时,分类术语显示在节点的内部,这不是我想要的。我只想激活菜单中的项目。
我认为要走的路是使用 menu_set_active_trail 或 menu_tree_set_path ,但我无法让它发挥作用。也许有人可以给我一个例子?也许我只是使用了错误的钩子?
PS:我正在使用 menu_block 来渲染菜单。
答案 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