ANNAIマガジン

Drupal 8 テーマ作成ガイド

ここでは Drupal 8 のテーマ作成方法について説明します。テーマのフォルダ構造からファイル構成まで、この連載を読むと Drupal 8 における正しいテーマの作成方法を学ぶことができます。
Drupal 8 Twigテンプレートで使用可能な関数

Drupal 8 Twigテンプレートで使用可能な関数

Twigには、テンプレート内で直接使用できる便利な関数が、たくさんあります。Drupalコアには、Drupal特有のカスタム関数がいくつか追加されています。この関数は、TwigExtensionクラスで定義されています。独自のカスタムTwig関数をカスタムモジュールで定義することもできます。

DFrupal 8 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テンプレートの変数のデバッグ

Drupal 8 Twigテンプレートの変数のデバッグ

Twigテンプレートファイルを操作する場合、利用可能な変数はテンプレートファイルのコメントに記載されます。しかし、記載されていなかったり、テーマやモジュールで、別途変数定義されている場合、テンプレート内で利用可能な変数を検出する必要があります。Twigでは、dump()関数を使って、テンプレートファイルで利用可能な変数を検出できます。

PHPTemplateとTwig themingの記法の比較

PHPTemplateとTwig themingの記法の比較

今回はPHPテンプレートとTwigテンプレートの違いについて解説します。

Drupal 8 のテーマにスタイルシート(CSS)とJavaScript(JS)を追加する

Drupal 8 のテーマにスタイルシート(CSS)とJavaScript(JS)を追加する

今回はDrupal8のテーマにjsとcssを追加する方法についての記事です。Drupalでのテーマ作成には必須の知識です。

Drupal 8 テーマ作成ガイド

Drupal 8 のテーマにリージョンを追加する

今回はDrupalのテーマにリージョンを追加する方法について説明します。リージョンを追加することで、リージョン内にブロックを配置可能になります。

Drupal 8 テーマ作成ガイド

Drupal 8 のテーマを .info.ymlファイルで定義する

Drupal 8のテーマを作成するには、最初に テーマに関するメタデータをDrupalに設定するファイル(THEMENAME.info.yml)作成する必要があります。これは、モジュールとインストレーションプロファイルを定義する方法に似ています。そのため、.info.yml ファイルのの'type'キーを'theme'と設定してこれらと区別することが重要です。このページでは、THEMENAME.info.ymlのサンプルファイルと、ファイルに定義することができる情報について説明します。

Drupal 8 テーマ作成ガイド

Drupal 8 テーマのフォルダ構造

基本的なDrupalの操作方法を学んだ後、実際に開発をする際にまず最初に突き当たる壁がテーマ(Theme)の作成方法です。ここでは、Drupalのテーマ作成の基本となるテーマフォルダの構造を説明します。