Same name and namespace in other branches
  1. 8.9.x core/includes/theme.inc \template_preprocess_container()
  2. 9 core/includes/theme.inc \template_preprocess_container()

Prepares variables for container templates.

Default template: container.html.twig.

Parameters

array $variables: An associative array containing:

  • element: An associative array containing the properties of the element. Properties used: #id, #attributes, #children.
1 string reference to 'template_preprocess_container'
RegistryTest::testThemeTemplatesRegisteredByModules in core/tests/Drupal/KernelTests/Core/Theme/RegistryTest.php
Tests theme-provided templates that are registered by modules.

File

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

Code

function template_preprocess_container(&$variables) {
  $variables['has_parent'] = FALSE;
  $element = $variables['element'];

  // Ensure #attributes is set.
  $element += [
    '#attributes' => [],
  ];

  // Special handling for form elements.
  if (isset($element['#array_parents'])) {

    // Assign an html ID.
    if (!isset($element['#attributes']['id'])) {
      $element['#attributes']['id'] = $element['#id'];
    }
    $variables['has_parent'] = TRUE;
  }
  $variables['children'] = $element['#children'];
  $variables['attributes'] = $element['#attributes'];
}