You are here

function hook_theme_suggestions_HOOK in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Render/theme.api.php \hook_theme_suggestions_HOOK()
  2. 9 core/lib/Drupal/Core/Render/theme.api.php \hook_theme_suggestions_HOOK()

Provides alternate named suggestions for a specific theme hook.

This hook allows modules to provide alternative theme template name suggestions.

HOOK is the least-specific version of the hook being called. For example, if '#theme' => 'node__article' is called, then hook_theme_suggestions_node() will be invoked, not hook_theme_suggestions_node__article(). The specific hook called (in this case 'node__article') is available in $variables['theme_hook_original'].

Implementations of this hook must be placed in *.module or *.theme files, or must otherwise make sure that the hook implementation is available at any given time.

@todo Add @code sample.

Parameters

array $variables: An array of variables passed to the theme hook. Note that this hook is invoked before any preprocessing.

Return value

array An array of theme suggestions.

See also

hook_theme_suggestions_HOOK_alter()

Related topics

38 functions implement hook_theme_suggestions_HOOK()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

bartik_theme_suggestions_form_alter in core/themes/bartik/bartik.theme
Implements hook_theme_suggestions_HOOK_alter() for form templates.
block_theme_suggestions_block in core/modules/block/block.module
Implements hook_theme_suggestions_HOOK().
claro_theme_suggestions_details_alter in core/themes/claro/claro.theme
Implements hook_theme_suggestions_HOOK_alter() for details.
claro_theme_suggestions_form_element_alter in core/themes/claro/claro.theme
Implements hook_theme_suggestions_HOOK_alter() for form_element.
claro_theme_suggestions_maintenance_page_alter in core/themes/claro/claro.theme
Implements hook_theme_suggestions_maintenance_page_alter().

... See full list

File

core/lib/Drupal/Core/Render/theme.api.php, line 620
Hooks and documentation related to the theme and render system.

Code

function hook_theme_suggestions_HOOK(array $variables) {
  $suggestions = [];
  $suggestions[] = 'hookname__' . $variables['elements']['#langcode'];
  return $suggestions;
}