html.tpl.php

Last updated on
7 December 2017

Drupal 7 will no longer be supported after January 5, 2025. Learn more and find resources for Drupal 7 sites

The html.tpl.php file returns the HTML for the basic html structure of a single Drupal page.

Available 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'.
$html_attributes
String of attributes for the html element. It can be manipulated through the variable $html_attributes_array from preprocess functions.
$html_attributes_array
An array of attribute values for the <head> element. It is flattened into a string within the variable $html_attributes.
$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 to be included in the <head> section of the page (including meta tags, keyword tags, and so on).
$default_mobile_metatags
TRUE if default mobile metatags for responsive design should be displayed.
$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.
$attributes
String of attributes for the body element. It can be manipulated through the variable $attributes_array from preprocess functions.
$attributes_array
An array of attribute values for the <body> element. It is flattened into a string within the variable $attributes.
$skip_link_anchor
The HTML ID of the element that the "skip link" should link to. Defaults to "main-menu".
$skip_link_text
The text for the "skip link". Defaults to "Jump to Navigation".
$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. It should be placed within the tag. When selecting through CSS it's recommended that you use the body tag, e.g., "body.front". It can be manipulated through the variable $classes_array from preprocess functions. The default values can contain one or more of the following:
  • front: Page is the home page.
  • not-front: Page is not the home page.
  • logged-in: The current viewer is logged in.
  • not-logged-in: The current viewer is not logged in.
  • node-type-[node type]: When viewing a single node, the type of that node. For example, if the node is a Blog entry, this would be "node-type-blog". Note that the machine name of the content type will often be in a short form of the human readable label.

The following only apply with the default sidebar_first and sidebar_second block regions:

  • two-sidebars: When both sidebars have content.
  • no-sidebars: When no sidebar content exists.
  • one-sidebar and sidebar-first or sidebar-second: A combination of the two classes when only one of the two sidebars have content.

See also

template_preprocess()
template_preprocess_html()
zen_preprocess_html() in Zen's template.php
template_process()
template_process_html()
zen_process_html() in Zen's template.php

Help improve this page

Page status: No known problems

You can: