You are here

page.html.twig in Drupal 9

Seven's 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.html.twig template normally located in the core/modules/system directory.

Available variables:

General utility variables:

  • base_path: The base URL path of the Drupal installation. Will usually be "/" unless you have installed Drupal in a sub-directory.
  • is_front: A flag indicating if the current page is the front page.
  • logged_in: A flag indicating if the user is registered and signed in.
  • is_admin: A flag indicating 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.

Page content (in order of occurrence in the default page.html.twig):

  • node: Fully loaded node, 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.header: Items for the header region.
  • page.pre_content: Items for the pre-content region.
  • page.breadcrumb: Items for the breadcrumb region.
  • page.highlighted: Items for the highlighted region.
  • page.help: Dynamic help text, mostly for admin pages.
  • page.content: The main content of the current page.

File

core/themes/seven/templates/page.html.twig
View source
  1. {#
  2. /**
  3. * @file
  4. * Seven's theme implementation to display a single Drupal page.
  5. *
  6. * The doctype, html, head, and body tags are not in this template. Instead
  7. * they can be found in the html.html.twig template normally located in the
  8. * core/modules/system directory.
  9. *
  10. * Available variables:
  11. *
  12. * General utility variables:
  13. * - base_path: The base URL path of the Drupal installation. Will usually be
  14. * "/" unless you have installed Drupal in a sub-directory.
  15. * - is_front: A flag indicating if the current page is the front page.
  16. * - logged_in: A flag indicating if the user is registered and signed in.
  17. * - is_admin: A flag indicating if the user has permission to access
  18. * administration pages.
  19. *
  20. * Site identity:
  21. * - front_page: The URL of the front page. Use this instead of base_path when
  22. * linking to the front page. This includes the language domain or prefix.
  23. *
  24. * Page content (in order of occurrence in the default page.html.twig):
  25. * - node: Fully loaded node, if there is an automatically-loaded node
  26. * associated with the page and the node ID is the second argument in the
  27. * page's path (e.g. node/12345 and node/12345/revisions, but not
  28. * comment/reply/12345).
  29. *
  30. * Regions:
  31. * - page.header: Items for the header region.
  32. * - page.pre_content: Items for the pre-content region.
  33. * - page.breadcrumb: Items for the breadcrumb region.
  34. * - page.highlighted: Items for the highlighted region.
  35. * - page.help: Dynamic help text, mostly for admin pages.
  36. * - page.content: The main content of the current page.
  37. *
  38. * @see template_preprocess_page()
  39. * @see html.html.twig
  40. */
  41. #}
  42. <header class="content-header clearfix">
  43. <div class="layout-container">
  44. {{ page.header }}
  45. </div>
  46. </header>
  47. <div class="layout-container">
  48. {{ page.pre_content }}
  49. {{ page.breadcrumb }}
  50. <main class="page-content clearfix" role="main">
  51. <div class="visually-hidden"><a id="main-content" tabindex="-1"></a></div>
  52. {{ page.highlighted }}
  53. {% if page.help %}
  54. <div class="help">
  55. {{ page.help }}
  56. </div>
  57. {% endif %}
  58. {{ page.content }}
  59. </main>
  60. </div>