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

4 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.
index.php in ./index.php
The PHP page that serves all page requests on a Drupal installation.
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;