template_preprocess_system_modules_uninstall(&$variables)
Prepares variables for module uninstall templates.
Default template: system-modules-uninstall.html.twig.
Parameters
$variables: An associative array containing:
-
form: A render element representing the form. Child elements of the form are individual modules. Each module is an associative array containing the following elements:
- #module_name: The name of the module as a string.
- name: The name of the module in a renderable array.
- description: A description of the module.
- #required_by: (optional) A list of modules that require the module.
- #validation_reasons: (optional) Additional reasons why the module cannot be uninstalled.
- #attributes: A list of attributes for the module wrapper.
Related topics
- Theme system overview
- Functions and templates for the user interface that themes can override.
File
- core/modules/system/system.admin.inc, line 266
- Admin page callbacks for the system module.
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | function template_preprocess_system_modules_uninstall(& $variables ) { $form = $variables [ 'form' ]; $variables [ 'modules' ] = []; // Iterate through all the modules, which are children of this element. foreach (Element::children( $form [ 'modules' ]) as $key ) { $module = $form [ 'modules' ][ $key ]; $module [ 'module_name' ] = $module [ '#module_name' ]; $module [ 'checkbox' ] = $form [ 'uninstall' ][ $key ]; $module [ 'checkbox_id' ] = $form [ 'uninstall' ][ $key ][ '#id' ]; if (! empty ( $module [ '#validation_reasons' ])) { $module [ 'validation_reasons' ] = $module [ '#validation_reasons' ]; $module [ 'reasons_count' ] = count ( $module [ 'validation_reasons' ]); } else { $module [ 'reasons_count' ] = 0; } if (! empty ( $module [ '#required_by' ])) { $module [ 'required_by' ] = $module [ '#required_by' ]; $module [ 'reasons_count' ] = $module [ 'reasons_count' ] + 1; } $module [ 'attributes' ] = new Attribute( $module [ '#attributes' ]); $variables [ 'modules' ][] = $module ; } } |
Please login to continue.