8.2.x theme.inc template_preprocess_page(&$variables)
8.0.x theme.inc template_preprocess_page(&$variables)
8.1.x theme.inc template_preprocess_page(&$variables)
6.x theme.inc template_preprocess_page(&$variables)
7.x theme.inc template_preprocess_page(&$variables)

Prepares variables for the page template.

Default template: page.html.twig.

See the page.html.twig template for the list of variables.

1 call to template_preprocess_page()
template_preprocess_maintenance_page in core/includes/theme.inc
Prepares variables for maintenance page templates.

File

core/includes/theme.inc, line 1346
The theme system, which controls the output of Drupal.

Code

function template_preprocess_page(&$variables) {
  $language_interface = \Drupal::languageManager()->getCurrentLanguage();

  foreach (\Drupal::theme()->getActiveTheme()->getRegions() as $region) {
    if (!isset($variables['page'][$region])) {
      $variables['page'][$region] = array();
    }
  }

  $variables['base_path'] = base_path();
  $variables['front_page'] = \Drupal::url('<front>');
  $variables['language'] = $language_interface;

  // An exception might be thrown.
  try {
    $variables['is_front'] = \Drupal::service('path.matcher')->isFrontPage();
  }
  catch (Exception $e) {
    // If the database is not yet available, set default values for these
    // variables.
    $variables['is_front'] = FALSE;
    $variables['db_is_active'] = FALSE;
  }

  if ($node = \Drupal::routeMatch()->getParameter('node')) {
    $variables['node'] = $node;
  }
}