page.html.twig
Same filename in this branch
Same filename in other branches
- 9 core/profiles/demo_umami/themes/umami/templates/layout/page.html.twig
- 9 core/themes/olivero/templates/layout/page.html.twig
- 9 core/themes/stable9/templates/layout/page.html.twig
- 9 core/themes/seven/templates/page.html.twig
- 9 core/themes/claro/templates/page.html.twig
- 9 core/themes/bartik/templates/page.html.twig
- 9 core/themes/stable/templates/layout/page.html.twig
- 9 core/themes/starterkit_theme/templates/layout/page.html.twig
- 9 core/themes/classy/templates/layout/page.html.twig
- 9 core/modules/system/templates/page.html.twig
- 8.9.x core/profiles/demo_umami/themes/umami/templates/layout/page.html.twig
- 8.9.x core/themes/seven/templates/page.html.twig
- 8.9.x core/themes/claro/templates/page.html.twig
- 8.9.x core/themes/bartik/templates/page.html.twig
- 8.9.x core/themes/stable/templates/layout/page.html.twig
- 8.9.x core/themes/classy/templates/layout/page.html.twig
- 8.9.x core/modules/system/templates/page.html.twig
- 11.x core/profiles/demo_umami/themes/umami/templates/layout/page.html.twig
- 11.x core/themes/olivero/templates/layout/page.html.twig
- 11.x core/themes/stable9/templates/layout/page.html.twig
- 11.x core/themes/claro/templates/page.html.twig
- 11.x core/themes/starterkit_theme/templates/layout/page.html.twig
- 11.x core/modules/system/templates/page.html.twig
Theme override to display a single page.
The doctype, html, head and body tags are not in this template. Instead they can be found in the html.html.twig template in this 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.primary_menu: Items for the primary menu region.
- page.secondary_menu: Items for the secondary menu region.
- page.highlighted: Items for the highlighted content region.
- page.help: Dynamic help text, mostly for admin pages.
- 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.footer: Items for the footer region.
- page.breadcrumb: Items for the breadcrumb region.
See also
3 theme calls to page.html.twig
- ElementInfoManagerTest::providerTestGetInfoElementPlugin in core/
tests/ Drupal/ Tests/ Core/ Render/ ElementInfoManagerTest.php - Provides tests data for testGetInfoElementPlugin().
- ElementInfoManagerTest::testGetInfoElementPlugin in core/
tests/ Drupal/ Tests/ Core/ Render/ ElementInfoManagerTest.php - Tests the getInfo() method when render element plugins are used.
- Page::getInfo in core/
lib/ Drupal/ Core/ Render/ Element/ Page.php - Returns the element properties for this element.
File
-
core/
profiles/ demo_umami/ themes/ umami/ templates/ layout/ page.html.twig
View source
- {#
- /**
- * @file
- * Theme override to display a single page.
- *
- * The doctype, html, head and body tags are not in this template. Instead they
- * can be found in the html.html.twig template in this 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.primary_menu: Items for the primary menu region.
- * - page.secondary_menu: Items for the secondary menu region.
- * - page.highlighted: Items for the highlighted content region.
- * - page.help: Dynamic help text, mostly for admin pages.
- * - 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.footer: Items for the footer region.
- * - page.breadcrumb: Items for the breadcrumb region.
- *
- * @see template_preprocess_page()
- * @see html.html.twig
- */
- #}
- <div class="layout-container">
-
- {% if page.pre_header|render|trim is not empty or
- page.header|render|trim is not empty %}
- <header class="layout-header" role="banner">
- <div class="container">
- {% if page.pre_header|render|trim is not empty %}
- {{ page.pre_header }}
- {% endif %}
- {% if page.header|render|trim is not empty %}
- {{ page.header }}
- {% endif %}
- </div>
- </header>
- {% endif %}
-
- {% if page.highlighted %}
- <div class="layout-highlighted">
- <div class="container">
- {{ page.highlighted }}
- </div>
- </div>
- {% endif %}
-
- {% if page.tabs %}
- <div class="layout-tabs">
- <div class="container">
- {{ page.tabs }}
- </div>
- </div>
- {% endif %}
-
- {% if page.banner_top|render|trim is not empty %}
- <div class="layout-banner-top">
- {{ page.banner_top }}
- </div>
- {% endif %}
-
- {% if page.breadcrumbs|render|trim is not empty %}
- <div class="layout-breadcrumbs">
- <div class="container">
- {{ page.breadcrumbs }}
- </div>
- </div>
- {% endif %}
-
- {% if not node %}
- {% if page.page_title|render|trim is not empty %}
- <div class="layout-page-title">
- {% if is_front %}
- <div class="is-front container">
- {{ page.page_title }}
- </div>
- {% else %}
- <div class="container">
- {{ page.page_title }}
- </div>
- {% endif %}
- </div>
- {% endif %}
- {% endif %}
-
- <main role="main" class="main container">
-
- <div class="layout-content">
- <a id="main-content" tabindex="-1"></a>{# link is in html.html.twig #}
- {{ page.content }}
- </div>{# /.layout-content #}
-
- {% if page.sidebar|render|trim is not empty %}
- <aside class="layout-sidebar" role="complementary">
- {{ page.sidebar }}
- </aside>
- {% endif %}
-
- </main>
-
- {% if page.content_bottom|render|trim is not empty %}
- <div class="layout-content-bottom">
- {{ page.content_bottom }}
- </div>
- {% endif %}
-
- {% if page.footer|render|trim is not empty %}
- <div class="layout-footer">
- <footer class="footer" role="contentinfo">
- <div class="container">
- {{ page.footer }}
- </div>
- </footer>
- </div>
- {% endif %}
-
- {% if page.bottom|render|trim is not empty %}
- <div class="layout-bottom">
- <div class="container">
- {{ page.bottom }}
- </div>
- </div>
- {% endif %}
-
- </div>{# /.layout-container #}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.