标签:
1, 首先判断网站是正常运行还是处于维护模式
$page_callback_result = _menu_site_is_offline() ? MENU_SITE_OFFLINE : MENU_SITE_ONLINE;
2, 获得$_GET[‘q‘]的值, 并给其他模块改变站点状态留一个接口
$read_only_path = !empty($path) ? $path : $_GET[‘q‘]; drupal_alter(‘menu_site_status‘, $page_callback_result, $read_only_path);
3, 得到$router_item 就是关于这个页面hook_menu的定义, 还有其他的默认值
$router_item = menu_get_item($path)
4, 调用$router_item的page callback来调用page arguments
$page_callback_result = call_user_func_array($router_item[‘page_callback‘], $router_item[‘page_arguments‘]);
然后就是返回内容给整个网站系统的第三步 渲染
menu_execute_active_handler大致是如何运行的?
标签:
原文地址:http://www.cnblogs.com/qinqiu/p/4493793.html