drupal的hook_menu可以定制module的入口path,但drupal并不是每次访问都去搜索所有menu hook,而是会先把path记到数据库,以后访问一个path时,drupal都会搜索数据库得到对应的module。
所以要找到一个path是属于那个module,可以搜索一下menu_router表。
例如地址为 http://localhost/user/register
则path = user/register
在数据库里进行查询:
SELECT * FROM menu_router WHERE path='user/register'
我们可以得到以下数据:
access_callback: user_register_access
page_callback: drupal_get_form
page_arguments: a:1:{i:0;s:13:"user_register";}
access_callback是权限认证的处理函数page_callback是页面呈现的处理函数page_arguments是page_callback函数的参数
这样我们很容易就发现,user/register这个页面就是user_register函数,找到这个函数就能对页面的逻辑部分进行定制。