file html.html.twig

Default theme implementation to display the basic html structure of a single Drupal page.

Variables:

  • $css: An array of CSS files for the current page.
  • $language: (object) The language the site is being displayed in. $language->language contains its textual representation. $language->dir contains the language direction. It will either be 'ltr' or 'rtl'.
  • $rdf_namespaces: All the RDF namespace prefixes used in the HTML document.
  • $grddl_profile: A GRDDL profile allowing agents to extract the RDF data.
  • $head_title: A modified version of the page title, for use in the TITLE tag.
  • $head_title_array: (array) An associative array containing the string parts that were used to generate the $head_title variable, already prepared to be output as TITLE tag. The key/value pairs may contain one or more of the following, depending on conditions:
    • title: The title of the current page, if any.
    • name: The name of the site.
    • slogan: The slogan of the site, if any, and if there is no title.
  • $head: Markup for the HEAD section (including meta tags, keyword tags, and so on).
  • $styles: Style tags necessary to import all CSS files for the page.
  • $scripts: Script tags necessary to load the JavaScript files and settings for the page.
  • $page_top: Initial markup from any modules that have altered the page. This variable should always be output first, before all other dynamic content.
  • $page: The rendered page content.
  • $page_bottom: Final closing markup from any modules that have altered the page. This variable should always be output last, after all other dynamic content.
  • $classes String of classes that can be used to style contextually through CSS.

See Also

Source
  1. {#
  2. /**
  3. * @file
  4. * Default theme implementation to display the basic html structure of a single
  5. * Drupal page.
  6. *
  7. * Variables:
  8. * - $css: An array of CSS files for the current page.
  9. * - $language: (object) The language the site is being displayed in.
  10. * $language->language contains its textual representation.
  11. * $language->dir contains the language direction. It will either be 'ltr' or
  12. * 'rtl'.
  13. * - $rdf_namespaces: All the RDF namespace prefixes used in the HTML document.
  14. * - $grddl_profile: A GRDDL profile allowing agents to extract the RDF data.
  15. * - $head_title: A modified version of the page title, for use in the TITLE
  16. * tag.
  17. * - $head_title_array: (array) An associative array containing the string parts
  18. * that were used to generate the $head_title variable, already prepared to be
  19. * output as TITLE tag. The key/value pairs may contain one or more of the
  20. * following, depending on conditions:
  21. * - title: The title of the current page, if any.
  22. * - name: The name of the site.
  23. * - slogan: The slogan of the site, if any, and if there is no title.
  24. * - $head: Markup for the HEAD section (including meta tags, keyword tags, and
  25. * so on).
  26. * - $styles: Style tags necessary to import all CSS files for the page.
  27. * - $scripts: Script tags necessary to load the JavaScript files and settings
  28. * for the page.
  29. * - $page_top: Initial markup from any modules that have altered the
  30. * page. This variable should always be output first, before all other dynamic
  31. * content.
  32. * - $page: The rendered page content.
  33. * - $page_bottom: Final closing markup from any modules that have altered the
  34. * page. This variable should always be output last, after all other dynamic
  35. * content.
  36. * - $classes String of classes that can be used to style contextually through
  37. * CSS.
  38. *
  39. * @ingroup templates
  40. *
  41. * @see bootstrap_preprocess_html()
  42. * @see template_preprocess()
  43. * @see template_preprocess_html()
  44. * @see template_process()
  45. */
  46. #}
  47. {%
  48. set body_classes = [
  49. logged_in ? 'user-logged-in',
  50. not root_path ? 'path-frontpage' : 'path-' ~ root_path|clean_class,
  51. node_type ? 'page-node-type-' ~ node_type|clean_class,
  52. db_offline ? 'db-offline',
  53. theme.settings.navbar_position ? 'navbar-is-' ~ theme.settings.navbar_position,
  54. theme.has_glyphicons ? 'has-glyphicons',
  55. ]
  56. %}
  57. <!DOCTYPE html>
  58. <html {{ html_attributes }}>
  59. <head>
  60. <head-placeholder token="{{ placeholder_token|raw }}">
  61. <title>{{ head_title|safe_join(' | ') }}</title>
  62. <css-placeholder token="{{ placeholder_token|raw }}">
  63. <js-placeholder token="{{ placeholder_token|raw }}">
  64. </head>
  65. <body{{ attributes.addClass(body_classes) }}>
  66. <a href="#main-content" class="visually-hidden focusable skip-link">
  67. {{ 'Skip to main content'|t }}
  68. </a>
  69. {{ page_top }}
  70. {{ page }}
  71. {{ page_bottom }}
  72. <js-bottom-placeholder token="{{ placeholder_token|raw }}">
  73. </body>
  74. </html>

Related topics