【发布时间】:2009-12-09 04:08:48
【问题描述】:
在为模块实现hook_menu 时,我试图将一些项目放入子菜单中。
到目前为止,我有这样的东西
$items['MyModule'] = array(
//...
'page callback' => 'system_admin_menu_block_page',
'file' => 'system.admin.inc',
'file path' => drupal_get_path('module','system'),
);
$items['MyModule/MenuItem1'] = array(
//...
);
$items['MyModule/SubMenu'] = array(
//...
'page callback' => 'system_admin_menu_block_page',
'file' => 'system.admin.inc',
'file path' => drupal_get_path('module','system'),
);
$items['MyModule/SubMenu/SubMenuItem1'] = array(
//...
);
我希望SubMenu 会出现在MyModule 菜单的子菜单中,SubMenuItems 会出现在该子菜单下。这是Drupal API 文档中描述的默认行为。
- 我的模块
- 菜单项1
- 子菜单
- 子菜单项1
但是,所有项目都出现在MyModule 菜单下。
- 我的模块
- 菜单项1
- 子菜单项1
- 子菜单
我做错了什么?
*编辑:一个错字(我已修复)导致SubMenu 成为一个单独的元素,而不是MyModule 的子元素。不过,我仍然不明白为什么SubMenuItem1 不会在SubMenu 下呈现。
【问题讨论】:
-
您在哪个 Drupal 版本上?所有这些菜单项会使用相同的回调吗? (菜单处理在 Drupal 6 中有所改变)
-
我使用的是Drupal 6,菜单项使用不同的回调来显示各种表单。
-
我在 Drupal 7 上遇到了同样的问题...你知道问题出在哪里了吗?
标签: drupal menu module submenu