Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. theme.inc

function template_preprocess

Adds a default set of helper variables for preprocessors and templates.

This function is called for every theme hook. It is the first in the sequence of preprocessing functions called when preparing variables for a template.

See the Default theme implementations topic for details.

1 call to template_preprocess()
ThemeManager::render in core/lib/Drupal/Core/Theme/ThemeManager.php
Generates themed output.
2 string references to 'template_preprocess'
UserHooks::userLogin in core/modules/user/src/Hook/UserHooks.php
Implements hook_user_login().
UserHooks::userLogout in core/modules/user/src/Hook/UserHooks.php
Implements hook_user_logout().

File

core/includes/theme.inc, line 1064

Code

function template_preprocess(&$variables, $hook, $info) {
    // Merge in variables that don't depend on hook and don't change during a
    // single page request.
    // Use the advanced drupal_static() pattern, since this is called very often.
    static $drupal_static_fast;
    if (!isset($drupal_static_fast)) {
        $drupal_static_fast['default_variables'] =& drupal_static(__FUNCTION__);
    }
    $default_variables =& $drupal_static_fast['default_variables'];
    if (!isset($default_variables)) {
        $default_variables = _template_preprocess_default_variables();
    }
    $variables += $default_variables;
    // When theming a render element, merge its #attributes into
    // $variables['attributes'].
    if (isset($info['render element'])) {
        $key = $info['render element'];
        if (isset($variables[$key]['#attributes'])) {
            $variables['attributes'] = AttributeHelper::mergeCollections($variables['attributes'], $variables[$key]['#attributes']);
        }
    }
}
RSS feed
Powered by Drupal