第 15 回 Drupal の拡張モジュールの選定と使い方
前回は Drupal 9 のテーマを取り上げました。テーマは、コンテンツの最終的な見え方(プレゼンテーション)を決める機能ですが、そこで表示される情報を作り出す、アプリケーションの中核的な機能を提供するのがモジュールです。今回は Drupal のモジュールについて、もう少し詳しく見ていくことにしましょう。
Twig テンプレートで使用可能な関数
はじめに
Twigには、テンプレート内で直接使用できる便利な関数が、たくさんあります。Drupal 9 のコアには、Drupal特有のカスタム関数がいくつか追加されています。この関数は、TwigExtensionクラスで定義されています。独自のカスタムTwig関数をカスタムモジュールで定義することもできます。
Twig 関数リスト(List of Twig Functions)
Drupal コアには、Drupal 特有のカスタム関数がいくつか追加されています。この関数は、TwigExtension クラスで定義されています。
Twig テンプレートの変数のデバッグ
Drupal 9 において Twig テンプレートファイルを操作する場合、利用可能な変数はテンプレートファイルのコメントに記載されます。しかし、記載されていなかったり、テーマやモジュールで、別途変数定義されている場合、テンプレート内で利用可能な変数を検出する必要があります。Twig では、dump() 関数を使って、テンプレートファイルで利用可能な変数を検出できます。
Drupal のテーマにスタイルシート(CSS)とJavaScript(JS)を追加する
今回はDrupal 9 のテーマにjsとcssを追加する方法についての記事です。Drupalでのテーマ作成には必須の知識です。
Drupal のテーマにリージョンを追加する
今回は Drupal 9 のテーマにリージョンを追加する方法について説明します。リージョンを追加することで、リージョン内にブロックを配置可能になります。
Drupal のテーマを .info.ymlファイルで定義する
Drupal 9 のテーマを作成するには、最初に テーマに関するメタデータを Drupal に設定するファイル(THEMENAME.info.yml)作成する必要があります。これは、モジュールとインストレーションプロファイルを定義する方法に似ています。そのため、.info.yml ファイルの 'type' キーを 'theme' と設定してこれらと区別することが重要です。このページでは、THEMENAME.info.yml のサンプルファイルと、ファイルに定義することができる情報について説明します。
Drupal テーマのフォルダ構造
基本的な Drupal 9 の操作方法を学んだ後、実際に開発をする際にまず最初に突き当たる壁がテーマ(Theme)の作成方法です。ここでは、Drupal のテーマ作成の基本となるテーマフォルダの構造を説明します。
第 14 回 Drupal のテーマシステムについて
前回までで、Drupal 9 のコンテンツタイプ、タクソノミー、ブロック、クエリー、多言語化、権限設定と、コアの重要機能を見てきました。連載の終盤の 2 回でテーマとモジュールの利用について取り上げたいと思います。
第 13 回 Drupal の権限設定と WordPress や Movable Type との比較
前回は、Drupal 9 の多言語機能を紹介しました。Drupal が多言語機能を Web アプリケーションの共通基盤と認識し、コアの標準機能として提供していることがご理解いただけたと思います。これと同じように、Drupal がシステムの共通基盤として提供している機能にアクセス制御があります。今回は、このアクセス制御の前提となる、ユーザー登録、ログイン認証、および権限設定の各機能を見ていくことにします。
第 12 回 Drupal の多言語機能と他の CMS やサービスとの比較
これまで、Drupal 9 におけるコンテンツのクエリーについて見てきました。システムの各部で繰り返し利用される処理を Views のようなコア標準機能として提供することで、他のさまざまなコア要素と一貫性のある形で連携することができます。システム横断的に利用される基本機能としては、他にも多言語化や認証の仕組みなどがあります。今回は Drupal の多言語化機能を紹介します。
第 11 回 Drupal と他の CMS のクエリビルダー機能を比較
前回は Drupal 9 の標準クエリビルダーである Views モジュールの機能を紹介しました。CMS(コンテンツ管理システム)において、コンテンツを管理するデータベースへの問い合わせは中核的な処理であり、その実装はソフトウェアの特長が表れる部分ではないかと思います。そこで今回は Views 以外のクエリー手段として、他の CMS の例も見ながら考察してみたいと思います。