The template process layer and process functions (e.g. template_process_HOOK(), MODULE_process_HOOK(), THEME_process_HOOK()) have been removed. Any process functions need to be converted to preprocess functions.

In the Drupal 7 theme system, process functions were used to flatten variables into strings for printing (see template_process() from Drupal 7 for an example). With the shift towards using (more) render arrays in Backdrop we can remove this additional layer of processing and complexity from the theme system.

Render arrays and renderable objects can be manipulated throughout the preprocess phase without needing to worry about the variable already being turned into markup or a flattened string. The render array can then be printed in a template file without first flattening it into a string.


Arrays in preprocess that are flattened into strings in process were changed. Flattening of arrays into strings moved into the template files, using implode() for classes and backdrop_attributes() for attributes.

renamed $classes_array to $classes (flatten in template)
renamed $attributes_array to $attributes (flatten in template)
removed $title_attributes_array everywhere except dynamic block.
renamed $content_attributes_array to $content_attributes (flatten in template)
renamed $html_attributes_array, $body_attributes_array, and $item_attributes_array to $html_attributes, $body_attributes and $item_attributes

Values that are retrieved late (after preprocess!) called directly from the template files instead.

Retrieve the page html head, css, and js directly from template files.
print $head; becomes print backdrop_get_html_head();
print $styles; becomes print backdrop_get_css();
print $scripts; becomes print backdrop_get_js();
added print backdrop_get_js('footer');

Color module reworked to use hook_css_alter instead of _color_page_alter so that _color_page_alter does not need to be called from the process layer for themes.

Implementations of process hooks removed

Removed modules/contextual/contextual.module contextual_process
Removed modules/layout/includes/ template_process_layout
Removed modules/user/user.module template_process_username
Removed modules/views/theme/ template_process_views_view

Introduced in branch: 
Introduced in version: 
Module developers
Theme developers