logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll

テンプレートの一部のインクルード

05/05/2020, by maria

多くの開発者は、ヘッダー/フッターコードを別のファイルに保存し、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」と連携できます