ANNAIマガジン

Drupal8テーマ作成ガイド

ここではDrupal8のテーマ作成方法について説明します。テーマのフォルダ構造からファイル構成まで、この連載を読むとDrupal8における正しいテーマの作成方法を学ぶことができます。
Drupal テーマ作成ガイド
20213/31

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

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

Drupal テーマ作成ガイド
20213/31

Twigテンプレートのマクロ

今回は Twig のマクロとその使い方について説明します。

Drupal テーマ作成ガイド
20213/31

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

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

Drupal テーマ作成ガイド
20213/31

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

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

Drupal テーマ作成ガイド
20213/31

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

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

Drupal テーマ作成ガイド
20213/31

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

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

Twigテンプレートで使用可能な関数
20204/11

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

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

Twigテンプレートのマクロ
20197/17

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関数といくつか異なる点があります:

Twigテンプレートの変数のデバッグ
20196/10

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

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

PHPTemplateとTwig themingの記法の比較
20192/27

PHPTemplateとTwig themingの記法の比較

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