4.6.x theme.inc theme_page($content)
4.7.x theme.inc theme_page($content)
5.x theme.inc theme_page($content)
6.x theme.php theme_page()

Return an entire Drupal page displaying the supplied content.


$content: A string to display in the main content area of the page.

Return value

A string containing the entire HTML page.

Related topics

3 theme calls to theme_page()
drupal_access_denied in includes/common.inc
Generates a 403 error if the request is not allowed.
drupal_not_found in includes/common.inc
Generates a 404 error if the request can not be handled.
poll_votes in modules/poll/poll.module
Callback for the 'votes' tab for polls you can see other votes on


includes/theme.inc, line 392
The theme system, which controls the output of Drupal.


function theme_page($content) {

  // Get blocks before so that they can alter the header (JavaScript, Stylesheets etc.)
  $blocks = theme('blocks', 'all');
  $output = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n";
  $output .= '<html xmlns="http://www.w3.org/1999/xhtml">';
  $output .= '<head>';
  $output .= ' <title>' . (drupal_get_title() ? strip_tags(drupal_get_title()) : variable_get('site_name', 'Drupal')) . '</title>';
  $output .= drupal_get_html_head();
  $output .= drupal_get_css();
  $output .= drupal_get_js();
  $output .= ' </head>';
  $output .= ' <body style="background-color: #fff; color: #000;">';
  $output .= '<table border="0" cellspacing="4" cellpadding="4"><tr><td style="vertical-align: top; width: 170px;">';
  $output .= $blocks;
  $output .= '</td><td style="vertical-align: top;">';
  $output .= theme('breadcrumb', drupal_get_breadcrumb());
  $output .= '<h1>' . drupal_get_title() . '</h1>';
  if ($tabs = theme('menu_local_tasks')) {
    $output .= $tabs;
  $output .= theme('help');
  $output .= theme('status_messages');
  $output .= "\n<!-- begin content -->\n";
  $output .= $content;
  $output .= drupal_get_feeds();
  $output .= "\n<!-- end content -->\n";
  $output .= '</td></tr></table>';
  $output .= theme('closure');
  $output .= '</body></html>';
  return $output;