Theme Hook Suggestions for Drupal Templates

Theme hook suggestions in a Drupal theme allow developers to create specific templates for different content types or contexts, providing granular control over the presentation and ensuring a tailored and consistent user experience.

This course covers the fundamental concepts of theme hook suggestions, including how to discover existing suggestions and add new ones. Learners will gain practical skills in altering, removing, and reordering theme hook suggestions to achieve specific theming goals.

Key topics

  • Understand what theme hook suggestions are
  • Discover existing theme hook suggestions
  • Adding new theme hook suggestions
Tutorials in this course
Categories
Drupal 8, 9, and 10
More information

When determining which template file to use to theme an element, Drupal uses the list of theme hook suggestions to look for the best match. This allows for fine-grained control over how things appear based on dynamic state and contextual information in your application. The list of theme hook suggestions varies for each base template, so we need a way to figure out our options.

In this tutorial we'll look at:

  • How to determine the list of valid theme hook suggestions for any template file
  • How theme hook suggestions are added by modules and themes

By the end of this tutorial you should be able to explain how theme hook suggestions are added, and determine the valid suggestions for any template file.

More information

Themes and modules can alter the list of theme hook suggestions in order to add new ones, remove existing ones, or reorder the list. This powerful feature allows for the definition of custom logic in your application that can tell Drupal to use different templates based on your own unique needs. You might for example; use a different page template for authenticated users, or a custom block template for someone's birthday.

In this tutorial we'll cover:

  • Adding new theme hook suggestions from a theme using hook_theme_suggestions_HOOK_alter()
  • Altering the list of theme hook suggestions
  • Removing theme hook suggestions
  • Reordering the list of theme hook suggestions
This course appears in the following guides:
Theming
Learn to control the look, feel, and markup of a Drupal site in a theme.

Frontend Theming