Error message

You are browsing documentation for drupal 7.x, which is not supported anymore. Read the updated version of this page for drupal 11.x (the latest version).

function drupal_render_page

Renders the page, including all theming.

Parameters

$page: A string or array representing the content of a page. The array consists of the following keys:

  • #type: Value is always 'page'. This pushes the theming through page.tpl.php (required).
  • #show_messages: Suppress drupal_get_message() items. Used by Batch API (optional).

See also

hook_page_alter()

element_info()

2 calls to drupal_render_page()
drupal_deliver_html_page in includes/common.inc
Packages and sends the result of a page callback to the browser as HTML.
overlay_render_region in modules/overlay/overlay.module
Renders an individual page region.

File

includes/common.inc, line 6059

Code

function drupal_render_page ($page) {
 $main_content_display =& drupal_static ('system_main_content_added', FALSE);
 // Allow menu callbacks to return strings or arbitrary arrays to render.
 // If the array returned is not of #type page directly, we need to fill
 // in the page with defaults.
 if (is_string ($page) || is_array ($page) && (!isset($page['#type']) || $page['#type'] != 'page')) {
 drupal_set_page_content ($page);
 $page = element_info ('page');
 }
 // Modules can add elements to $page as needed in hook_page_build().
 foreach (module_implements ('page_build') as $module) {
 $function = $module . '_page_build';
 $function($page);
 }
 // Modules alter the $page as needed. Blocks are populated into regions like
 // 'sidebar_first', 'footer', etc.
 drupal_alter ('page', $page);
 // If no module has taken care of the main content, add it to the page now.
 // This allows the site to still be usable even if no modules that
 // control page regions (for example, the Block module) are enabled.
 if (!$main_content_display) {
 $page['content']['system_main'] = drupal_set_page_content ();
 }
 return drupal_render ($page);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.