假设我的导航中显示了菜单,并假设页面上某处我将全局$user
修改为其他用户。是否可以调用一些Drupal函数来重新加载与新$ user相对应的Drupal菜单,而不是旧$user
的已加载菜单?
如果是的话,我应该使用什么功能?
答案 0 :(得分:0)
您可以使用menu_rebuild()。
(重新)填充各种菜单功能使用的数据库表。
此功能将清除并填充{menu_router}表,为{router_links}添加新路由器项的条目,然后从{menu_links}中删除陈旧项。如果从update.php或install.php调用,它还会在menu_execute_active_handler()的第一个实际页面加载时安排对自身的调用,因为维护页面环境不同并在菜单中保留过时的数据表。