function template_preprocess_details in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/includes/form.inc \template_preprocess_details()
Prepares variables for details element templates.
Default template: details.html.twig.
Parameters
array $variables: An associative array containing:
- element: An associative array containing the properties of the element. Properties used: #attributes, #children, #open, #description, #id, #title, #value, #optional.
File
- core/
includes/ form.inc, line 234 - Functions for form and batch generation and processing.
Code
function template_preprocess_details(&$variables) {
$element = $variables['element'];
$variables['attributes'] = $element['#attributes'];
$variables['summary_attributes'] = new Attribute();
if (!empty($element['#title'])) {
$variables['summary_attributes']['role'] = 'button';
if (!empty($element['#attributes']['id'])) {
$variables['summary_attributes']['aria-controls'] = $element['#attributes']['id'];
}
$variables['summary_attributes']['aria-expanded'] = !empty($element['#attributes']['open']) ? 'true' : 'false';
$variables['summary_attributes']['aria-pressed'] = $variables['summary_attributes']['aria-expanded'];
}
$variables['title'] = !empty($element['#title']) ? $element['#title'] : '';
$variables['description'] = !empty($element['#description']) ? $element['#description'] : '';
$variables['children'] = isset($element['#children']) ? $element['#children'] : '';
$variables['value'] = isset($element['#value']) ? $element['#value'] : '';
// Suppress error messages.
$variables['errors'] = NULL;
}