如何以编程方式打开Drupal 6子菜单?
我有一个两级菜单,第二级显示在二级菜单中 如何从菜单中链接的页面以外的页面以编程方式打开第二级菜单如何以编程方式打开Drupal 6子菜单?,drupal,drupal-6,Drupal,Drupal 6,我有一个两级菜单,第二级显示在二级菜单中 如何从菜单中链接的页面以外的页面以编程方式打开第二级菜单 我查看了theme\u preprocess\u页面和其他页面,但不知道如何将菜单项状态从折叠状态更改为活动状态。将菜单项放入菜单中而不启用它们,可以解决您的问题吗 如果没有,您可以查看该模块,因为它为设置活动菜单项提供了更大的灵活性。一段时间以来,我一直在处理类似的问题 这里有一些文档: 但在某些方面有点粗略 此函数似乎可以实现以下功能: . 查看如何设置级别(作为参数),以便菜单呈现所需内容
我查看了
theme\u preprocess\u页面
和其他页面,但不知道如何将菜单项状态从折叠状态更改为活动状态。将菜单项放入菜单中而不启用它们,可以解决您的问题吗
如果没有,您可以查看该模块,因为它为设置活动菜单项提供了更大的灵活性。一段时间以来,我一直在处理类似的问题 这里有一些文档: 但在某些方面有点粗略 此函数似乎可以实现以下功能: . 查看如何设置级别(作为参数),以便菜单呈现所需内容
这可能不是你想要的,但希望能为你指明正确的方向 回答我自己的问题,这个节点api钩子就做到了。
受模块启发,Mike提到
function phptemplate_nodeapi(&$node, $op) {
if($open_menu_for_this_node && $op == 'view') {
$item = menu_get_item();
$item['href'] = $menu_item_to_open;
menu_set_item(NULL, $item);
}
}
在节点上下文之外,类似这样的操作将起作用:
function HOOK_init() {
if (arg(0) == 'exhibits' && arg(2) == 'publications') {
$normal_path = drupal_get_normal_path( arg(0) .'/'. arg(1));
$item = menu_get_item();
$item['href'] = $normal_path;
menu_set_item(NULL, $item);
}
}
此特定示例希望在Exhibies/XXXXX/publications为路径时激活Exhibies/XXXXX菜单。Exhibles/XXXXX/publications不在相关菜单中,但Exhibles/XXXXX在菜单中
drupal\u get\u normal\u path()
只是将/XXXXX转换为节点/NNNN