Scroll
テンプレートの一部のインクルード
多くの開発者は、ヘッダー/フッターコードを別のファイルに保存し、page.html.twigでそのファイルを呼び出すことを好みます
プロセス
テーマのフォルダーにヘッダー用の次のファイルを作成したとします:
THEME_NAME/templates/includes/header.html.twig
そして、このファイルを次に含めたいとします:
page.html.twig
推奨される方法
Drupal 8テーマの正しい方法は、Twig名前空間を使用して現在のテーマの「templates」ディレクトリを宣言することです。例:
{% include '@THEME_NAME/includes/header.html.twig' %}
以下は、Architectと呼ばれるDrupal.orgの作業テーマの例です。
「@architect」は、作業テーマ(architect)ディレクトリの/templatesを参照します。
{% include '@architect/includes/header.html.twig' %}
Twig名前空間は、テーマのインストール時にDrupal 8で自動的に作成され、テーマの/templatesディレクトリを指します。基本的に、Twigインクルードで「@theme_name」と書くと(上記のように)、サーバー上の「your_site.com/themes/theme_name/templates」の場所を参照します。
推奨されない方法
可能な(ただし推奨されない)方法の1つは、以下のコードを使用してこのファイルを含めることです。
{# NOT recommended #}
{% include directory ~ '/templates/includes/header.html.twig' %}
上記の方法は機能するかもしれませんが、サブテーマと一緒に使用するとサーバーエラーが発生します。
名前空間機能の拡張
コンポーネントライブラリモジュールは、Drupal 8でtwigテンプレートをより柔軟で複雑に編成する方法を提供し、twig「embed」と連携できます