function template_preprocess_page in Drupal 9
Same name and namespace in other branches
- 8 core/includes/theme.inc \template_preprocess_page()
- 6 includes/theme.inc \template_preprocess_page()
- 7 includes/theme.inc \template_preprocess_page()
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 1412 - 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] = [];
}
}
$variables['base_path'] = base_path();
$variables['front_page'] = Url::fromRoute('<front>')
->toString();
$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;
}
}