page.tpl.php

  1. drupal
    1. 4.7 themes/bluemarine/page.tpl.php
    2. 4.7 themes/pushbutton/page.tpl.php
    3. 5 themes/bluemarine/page.tpl.php
    4. 5 themes/garland/page.tpl.php
    5. 5 themes/pushbutton/page.tpl.php
    6. 6 modules/system/page.tpl.php
    7. 6 themes/bluemarine/page.tpl.php
    8. 6 themes/pushbutton/page.tpl.php
    9. 6 themes/garland/page.tpl.php
    10. 7 modules/system/page.tpl.php
    11. 7 modules/block/tests/themes/block_test_theme/page.tpl.php
    12. 7 themes/bartik/templates/page.tpl.php
    13. 7 themes/garland/page.tpl.php
    14. 7 themes/seven/page.tpl.php
    15. 8 core/modules/block/tests/themes/block_test_theme/page.tpl.php
    16. 8 core/themes/bartik/templates/page.tpl.php
    17. 8 core/themes/seven/page.tpl.php
    18. 8 core/modules/system/page.tpl.php

Default theme implementation to display a single Drupal page.

The doctype, html, head and body tags are not in this template. Instead they can be found in the html.tpl.php template in this directory.

Available variables:

General utility variables:

  • $base_path: The base URL path of the Drupal installation. At the very least, this will always default to /.
  • $directory: The directory the template is located in, e.g. modules/system or themes/bartik.
  • $is_front: TRUE if the current page is the front page.
  • $logged_in: TRUE if the user is registered and signed in.
  • $is_admin: TRUE if the user has permission to access administration pages.

Site identity:

  • $front_page: The URL of the front page. Use this instead of $base_path, when linking to the front page. This includes the language domain or prefix.
  • $logo: The path to the logo image, as defined in theme configuration.
  • $site_name: The name of the site, empty when display has been disabled in theme settings.
  • $site_slogan: The slogan of the site, empty when display has been disabled in theme settings.

Navigation:

  • $main_menu (array): An array containing the Main menu links for the site, if they have been configured.
  • $secondary_menu (array): An array containing the Secondary menu links for the site, if they have been configured.
  • $breadcrumb: The breadcrumb trail for the current page.

Page content (in order of occurrence in the default page.tpl.php):

  • $title_prefix (array): An array containing additional output populated by modules, intended to be displayed in front of the main title tag that appears in the template.
  • $title: The page title, for use in the actual HTML content.
  • $title_suffix (array): An array containing additional output populated by modules, intended to be displayed after the main title tag that appears in the template.
  • $messages: HTML for status and error messages. Should be displayed prominently.
  • $tabs (array): Tabs linking to any sub-pages beneath the current page (e.g., the view and edit tabs when displaying a node).
  • $action_links (array): Actions local to the page, such as 'Add menu' on the menu administration interface.
  • $feed_icons: A string of all feed icons for the current page.
  • $node: The node entity, if there is an automatically-loaded node associated with the page, and the node ID is the second argument in the page's path (e.g. node/12345 and node/12345/revisions, but not comment/reply/12345).

Regions:

  • $page['help']: Dynamic help text, mostly for admin pages.
  • $page['highlighted']: Items for the highlighted content region.
  • $page['content']: The main content of the current page.
  • $page['sidebar_first']: Items for the first sidebar.
  • $page['sidebar_second']: Items for the second sidebar.
  • $page['header']: Items for the header region.
  • $page['footer']: Items for the footer region.

See also

template_preprocess()

template_preprocess_page()

template_process()

html.tpl.php

File

core/modules/system/page.tpl.php
View source
  1. <?php
  2. /**
  3. * @file
  4. * Default theme implementation to display a single Drupal page.
  5. *
  6. * The doctype, html, head and body tags are not in this template. Instead they
  7. * can be found in the html.tpl.php template in this directory.
  8. *
  9. * Available variables:
  10. *
  11. * General utility variables:
  12. * - $base_path: The base URL path of the Drupal installation. At the very
  13. * least, this will always default to /.
  14. * - $directory: The directory the template is located in, e.g. modules/system
  15. * or themes/bartik.
  16. * - $is_front: TRUE if the current page is the front page.
  17. * - $logged_in: TRUE if the user is registered and signed in.
  18. * - $is_admin: TRUE if the user has permission to access administration pages.
  19. *
  20. * Site identity:
  21. * - $front_page: The URL of the front page. Use this instead of $base_path,
  22. * when linking to the front page. This includes the language domain or
  23. * prefix.
  24. * - $logo: The path to the logo image, as defined in theme configuration.
  25. * - $site_name: The name of the site, empty when display has been disabled
  26. * in theme settings.
  27. * - $site_slogan: The slogan of the site, empty when display has been disabled
  28. * in theme settings.
  29. *
  30. * Navigation:
  31. * - $main_menu (array): An array containing the Main menu links for the
  32. * site, if they have been configured.
  33. * - $secondary_menu (array): An array containing the Secondary menu links for
  34. * the site, if they have been configured.
  35. * - $breadcrumb: The breadcrumb trail for the current page.
  36. *
  37. * Page content (in order of occurrence in the default page.tpl.php):
  38. * - $title_prefix (array): An array containing additional output populated by
  39. * modules, intended to be displayed in front of the main title tag that
  40. * appears in the template.
  41. * - $title: The page title, for use in the actual HTML content.
  42. * - $title_suffix (array): An array containing additional output populated by
  43. * modules, intended to be displayed after the main title tag that appears in
  44. * the template.
  45. * - $messages: HTML for status and error messages. Should be displayed
  46. * prominently.
  47. * - $tabs (array): Tabs linking to any sub-pages beneath the current page
  48. * (e.g., the view and edit tabs when displaying a node).
  49. * - $action_links (array): Actions local to the page, such as 'Add menu' on the
  50. * menu administration interface.
  51. * - $feed_icons: A string of all feed icons for the current page.
  52. * - $node: The node entity, if there is an automatically-loaded node
  53. * associated with the page, and the node ID is the second argument
  54. * in the page's path (e.g. node/12345 and node/12345/revisions, but not
  55. * comment/reply/12345).
  56. *
  57. * Regions:
  58. * - $page['help']: Dynamic help text, mostly for admin pages.
  59. * - $page['highlighted']: Items for the highlighted content region.
  60. * - $page['content']: The main content of the current page.
  61. * - $page['sidebar_first']: Items for the first sidebar.
  62. * - $page['sidebar_second']: Items for the second sidebar.
  63. * - $page['header']: Items for the header region.
  64. * - $page['footer']: Items for the footer region.
  65. *
  66. * @see template_preprocess()
  67. * @see template_preprocess_page()
  68. * @see template_process()
  69. * @see html.tpl.php
  70. */
  71. ?>
  72. <div id="page">
  73. <header id="header" role="banner" class="clearfix">
  74. <?php if ($logo): ?>
  75. <a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home" id="logo">
  76. <img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" />
  77. </a>
  78. <?php endif; ?>
  79. <?php if ($site_name || $site_slogan): ?>
  80. <div id="name-and-slogan">
  81. <?php if ($site_name): ?>
  82. <?php if ($title): ?>
  83. <p id="site-name"><strong>
  84. <a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home"><?php print $site_name; ?></a>
  85. </strong></p>
  86. <?php else: /* Use h1 when the content title is empty */ ?>
  87. <h1 id="site-name">
  88. <a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home"><?php print $site_name; ?></a>
  89. </h1>
  90. <?php endif; ?>
  91. <?php endif; ?>
  92. <?php if ($site_slogan): ?>
  93. <p id="site-slogan"><?php print $site_slogan; ?></p>
  94. <?php endif; ?>
  95. </div><!-- #name-and-slogan -->
  96. <?php endif; ?>
  97. <?php print render($page['header']); ?>
  98. </header>
  99. <?php if ($main_menu || $secondary_menu): ?>
  100. <nav role="navigation">
  101. <?php print theme('links__system_main_menu', array('links' => $main_menu, 'attributes' => array('id' => 'main-menu', 'class' => array('links', 'inline', 'clearfix')), 'heading' => t('Main menu'))); ?>
  102. <?php print theme('links__system_secondary_menu', array('links' => $secondary_menu, 'attributes' => array('id' => 'secondary-menu', 'class' => array('links', 'inline', 'clearfix')), 'heading' => t('Secondary menu'))); ?>
  103. </nav>
  104. <?php endif; ?>
  105. <?php print $breadcrumb; ?>
  106. <?php if ($messages): ?>
  107. <div id="messages"><?php print $messages; ?></div>
  108. <?php endif; ?>
  109. <div id="main" role="main" class="clearfix">
  110. <div id="content" class="column">
  111. <?php if ($page['highlighted']): ?><div id="highlighted"><?php print render($page['highlighted']); ?></div><?php endif; ?>
  112. <a id="main-content"></a>
  113. <?php print render($title_prefix); ?>
  114. <?php if ($title): ?><h1 class="title" id="page-title"><?php print $title; ?></h1><?php endif; ?>
  115. <?php print render($title_suffix); ?>
  116. <?php if ($tabs): ?><div class="tabs"><?php print render($tabs); ?></div><?php endif; ?>
  117. <?php print render($page['help']); ?>
  118. <?php if ($action_links): ?><ul class="action-links"><?php print render($action_links); ?></ul><?php endif; ?>
  119. <?php print render($page['content']); ?>
  120. <?php print $feed_icons; ?>
  121. </div>
  122. <?php if ($page['sidebar_first']): ?>
  123. <div id="sidebar-first" class="column sidebar">
  124. <?php print render($page['sidebar_first']); ?>
  125. </div><!-- #sidebar-first -->
  126. <?php endif; ?>
  127. <?php if ($page['sidebar_second']): ?>
  128. <div id="sidebar-second" class="column sidebar">
  129. <?php print render($page['sidebar_second']); ?>
  130. </div><!-- #sidebar-second -->
  131. <?php endif; ?>
  132. </div><!-- #main -->
  133. <footer id="footer" role="contentinfo">
  134. <?php print render($page['footer']); ?>
  135. </footer>
  136. </div><!-- #page -->
Login or register to post comments