Drupal 模块将菜单项添加到主链接?

2021-12-29 00:00:00 php drupal menu

是否可以将 hook_menu() 中的菜单项直接添加到 primary-links 菜单而不是 navigation 他们喜欢的地方默认驻留?

Is it possible to add a menu item from within hook_menu() directly to the primary-links menu instead of navigation where they like to reside by default?

推荐答案

其实是可以的.hook_menu() 实现中的可选键之一实际上是menu_name",它的值可以是给定菜单的唯一名称.在您的情况下,主要链接".Devel 模块使用该技术将其项目添加到自定义开发"菜单中.

Actually, it is possible. One of the optional keys in a hook_menu() implementation is in fact 'menu_name', and its value can be the unique name of a given menu. In your case, 'primary-links'. The Devel module uses that technique to add its items to a custom 'Development' menu.

另请注意,早于 6.6 (IIRC) 的 Drupal 6 版本存在一个错误,导致无法移动hook_menu() 只需更改 hook_menu() 实现 - 您必须显式编辑 UI 中的菜单项以重新设置它的父级.Drupal 6.7 及更高版本(再次通过内存)修复了该错误,只需要 hook_menu 即可.

Also note that versions of Drupal 6 earlier than 6.6 (IIRC) had a bug that made it impossible to move a menu item already defined in hook_menu() simply by changing the hook_menu() implementation -- you had to explicitly edit the menu item in the UI to reparent it. Drupal 6.7 and later (again, going by memory) fixed that bug and hook_menu is all that's needed.

相关文章