Drupal 8 テーマ作成ガイド
Drupal 8 Twigテンプレートで使用可能な関数
Twigには、テンプレート内で直接使用できる便利な関数が、たくさんあります。Drupalコアには、Drupal特有のカスタム関数がいくつか追加されています。この関数は、TwigExtensionクラスで定義されています。独自のカスタムTwig関数をカスタムモジュールで定義することもできます。
Drupal 8 におけるTwigテンプレートのマクロ
最終更新日 2016年12月20日
Twig公式ドキュメントより:
「マクロは通常のプログラミング言語の関数と似ています。頻繁に使用されるHTML構文を再利用可能な要素として設定するのに便利です。」
{% macro input(name, value, type, size) %}
<input type="{{ type|default('text') }}" name="{{ name }}" value="{{ value|e }}" size="{{ size|default(20) }}" />
{% endmacro %}
マクロはネイティブのPHP関数といくつか異なる点があります:
Drupal 8 Twigテンプレートの変数のデバッグ
Twigテンプレートファイルを操作する場合、利用可能な変数はテンプレートファイルのコメントに記載されます。しかし、記載されていなかったり、テーマやモジュールで、別途変数定義されている場合、テンプレート内で利用可能な変数を検出する必要があります。Twigでは、dump()関数を使って、テンプレートファイルで利用可能な変数を検出できます。
Drupal 8 のテーマにスタイルシート(CSS)とJavaScript(JS)を追加する
今回はDrupal8のテーマにjsとcssを追加する方法についての記事です。Drupalでのテーマ作成には必須の知識です。
Drupal 8 のテーマにリージョンを追加する
今回はDrupalのテーマにリージョンを追加する方法について説明します。リージョンを追加することで、リージョン内にブロックを配置可能になります。
Drupal 8 のテーマを .info.ymlファイルで定義する
Drupal 8のテーマを作成するには、最初に テーマに関するメタデータをDrupalに設定するファイル(THEMENAME.info.yml)作成する必要があります。これは、モジュールとインストレーションプロファイルを定義する方法に似ています。そのため、.info.yml ファイルのの'type'キーを'theme'と設定してこれらと区別することが重要です。このページでは、THEMENAME.info.ymlのサンプルファイルと、ファイルに定義することができる情報について説明します。
Drupal 8 テーマのフォルダ構造
基本的なDrupalの操作方法を学んだ後、実際に開発をする際にまず最初に突き当たる壁がテーマ(Theme)の作成方法です。ここでは、Drupalのテーマ作成の基本となるテーマフォルダの構造を説明します。