drupal的URL相对应的程序部分怎么找?

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函数,找到这个函数就能对页面的逻辑部分进行定制。

posted @ 2011-05-19 18:48  猫之良品  阅读(1198)  评论(0编辑  收藏  举报