logo

Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll
13/04/2025, by Ivan

Many developers prefer to store header/footer code in a separate file and include that file in page.html.twig.

Process

Let’s say you’ve created the following file in your theme’s folder for the header:

THEME_NAME/templates/includes/header.html.twig

And now you want to include this file in:

page.html.twig

Recommended Method

The proper method for Drupal 8 themes is to use Twig namespaces to reference the current theme’s "templates" directory. Here’s an example:

{% include '@THEME_NAME/includes/header.html.twig' %}

Below is an example from a working theme on Drupal.org called Architect.
“@architect” refers to the /templates directory inside the working theme (architect).

{% include '@architect/includes/header.html.twig' %}

The Twig namespace is created automatically in Drupal 8 when your theme is installed and points to your theme’s /templates directory. Essentially, writing “@theme_name” in a Twig include (as shown above) will reference the location your_site.com/themes/theme_name/templates on your server.

Not Recommended Method

One possible (but not recommended) method is to use the following code to include the file.

{# NOT recommended #}
{% include directory ~ '/templates/includes/header.html.twig' %}

The above may work, but it will result in a server error when used with a subtheme.

Extending Namespace Functionality

The Component Libraries module provides more flexible and advanced organization of Twig templates in Drupal 8, which can work well with Twig's "embed" functionality.