Drupal主题与测试全解析
1. Drupal页面渲染流程
当Drupal渲染页面时,会经历一系列复杂但可预测的步骤,将结构转化为HTML。以下是典型页面渲染的详细过程:
1.内容获取与数组构建:Drupal的内容管理引擎从数据库获取所有内容,并根据当前条件(如用户权限、是否显示评论或修订版本、是否存在缓存数据等)构建内容数组。具体步骤如下:
- 所有请求从index.php开始,首先进行系统引导,包括连接数据库、检查缓存数据、设置会话、注册语言等。引导完成后,调用menu_execute_active_handler()函数。
-menu_execute_active_handler()函数检查网站是否在线,然后调用menu_get_item()函数,从数据库的menu_router表中获取路由器项。路由器项是一个内部使用的数组,包含对象信息,如页面加载时要执行的回调函数、当前用户的访问信息和某些主题信息。
- 调用call_user_func_array()函数,传入路由器数组的回调函数和参数,最终调用call_user_func_array('node_page_default', '');。
-node_page_default()函数从数据库中查找所有要构建的节点,获取节点ID列表后,使用node_load_multiple($nids);获取节点,