
最終更新日 2020 年 11 月 23 日
.info.ymlファイルを作成する
テーマフォルダのルートに .info.yml ファイルを作成します。テーマフォルダ名は .info.yml ファイルのファイル名と同じ名前にする必要があります。もしテーマ名が "Fluffiness" の場合、テーマフォルダ名は "fluffiness / " で、.info.yml ファイル名は "fluffiness / fluffiness.info.yml" です。この .info.yml ファイルが存在する場合、このテーマは、管理画面の 管理 ”>” テーマ に表示されます。モジュールや別のテーマで、使用されていないテーマ名をつけるようにしてください。テーマ名は、1つの Drupal セットアップの中で、固有の名前でなければなりません。そうでない場合、テーマコンポーネントが正しく読み込まれません。
フォルダ名(および .info.yml ファイル名)にスペースがある場合は、テーマ名のスペースをアンダースコアに置き換えます。
YAMLファイルの構造に詳しくない場合は、YAMLファイルフォーマットの簡単な紹介を読んでください。
- タブは使用できません。スペースのみを使用してください。
- プロパティとリストのインデントは、 2 スペースにする必要があります。
例)
name: Fluffiness
type: theme
description: 'A cuddly theme that offers extra fluffiness.'
core: 8.x
libraries:
- fluffiness/global-styling
base theme: classy
regions:
header: Header
content: Content
sidebar_first: 'Sidebar first'
footer: Footer
Drupalサイト内では、コアが提供するさまざまな .info.ymlファイルのサンプルを見つけることができます。例としては、core/themes/starkフォルダ内の stark.info.yml ファイルなどです。
キーと値のペア
次のキーと値のペアは、テーマのメタデータやいくつかの基本的な機能を定義します。(\Drupal\Core\Extension\InfoParserInterface::parse() 参照)
- name (必須)
- type (必須)
- description (オプション)
- dependencies(オプション)
- package (オプション)
- core (必須、ただし core_version_requirement を含める場合はオプション)
- php (オプション)
- version (オプション)
- libraries (オプション)
- libraries-override (オプション)
- libraries-extend (オプション)
- base theme (Drupal 9 で必須、Drupal 8 でオプション)
- hidden (オプション)
- engine (オプション)
- logo (オプション)
- screenshot (オプション)
- regions (オプション)
- regions_hidden (オプション)
- features (オプション)
- stylesheets-remove (廃止予定)
- ckeditor_stylesheets (オプション)
name(必須)
ヒューマンリーダブルなテーマの名前を設定します。これは「テーマ」ページに表示されます。
name: Fluffiness
type (必須)
ファイルで拡張機能のタイプを設定します("module", "theme", "profile" など)。テーマの場合は"theme"に設定する必要があります。
type: theme
description (オプション)
「テーマ」ページに表示されるテーマの説明です。
description: An extra cuddly Drupal theme available in grey and blue.
dependencies (オプション)
Drupal 8.9 で導入されました
変更履歴:https://www.drupal.org/node/2937955
依存関係を記した文字列の配列
dependencies:
- drupal:views
- paragraphs:paragraphs
- components:components (>=8.x-2.x)
package (オプション)
テーマをグループ化するパッケージを指定します。
package: Core
core (必須)
テーマと互換性のあるDrupal coreのバージョンを指定します。
core: 8.x
core_version_requirement を指定する場合は省略可能です。また、Drupal 8.7.7 およびそれ以下はサポートしません。変更履歴を参照してください。
php (オプション)
最低限必要とされるPHPのバージョン。 デフォルトは、DRUPAL_MINIMUM_PHP constant の値になります。
php: 5.5.9
version (オプション)
バージョンを指定します。drupal.orgで提供されているテーマの場合は、バージョン番号はパッケージングスクリプトによって自動的に記入されますので、手動で設定せずに、version の行自体を完全に省略してください。
version: 8.x-1.0
または
version: '1.0'
libraries (オプション)
このテーマが有効なすべてのページに追加するライブラリの一覧を設定します。CSSアセットとJavaScriptアセットの両方を含むことが可能です。
詳しくは「テーマとライブラリアセットについて」のページ参照。
libraries:
- fluffiness/global-styling
libraries-override (オプション)
オーバーライドするライブラリとアセットを設定します。
libraries-override: contextual/drupal.contextual-links: css: component: /core/themes/stable/css/contextual/contextual.module.css: false
libraries-extend (オプション)
ライブラリーを加える際の、ライブラリーやアセットの一覧。詳しくは「ライブラリーのオーバーライドと拡張」のページを参照。
libraries-extend:
core/drupal.user:
- classy/user1
- classy/user2
base theme (必須)
ベーステーマを指定すると、別のテーマからリソースを継承できます。classy テーマ、または stableテーマ (キーが指定されていない場合はデフォルトでstableテーマが適用されます。)を使うのがお勧めです。ベーステーマを設定することで、テーマが将来のコアテーマの変更を継承しやすくなります。
base theme: classy
hidden (オプション)
管理画面からのテーマの有効/無効の設定ができないように、「テーマ」ページからテーマを非表示にするかどうかを設定します。
hidden: true
engine (オプション)
テーマのテンプレートエンジンを設定します。デフォルトは "twig"です。
engine: twig
logo (オプション)
8.6.xで導入されました |
---|
変更履歴:https://www.drupal.org/node/2939152 |
テーマのファイルに対するロゴのパス。デフォルトでは、Drupalはテーマフォルダのルートにある "logo.svg"という名前のファイルを探し、これをテーマのロゴとして使用します。
logo: images/logo.png
screenshot (オプション)
.info.ymlファイルを基準にしたスクリーンショット画像ファイルへのパスを設定します。スクリーンショット画像ファイルは、幅が588pixel、高さが438pixelですが、表示時には、小さいサイズになります。 デフォルトでは、テーマフォルダルートの "screenshot.png"ファイルを 「テーマ」ページのテーマイメージとして使用します。
screenshot: fluffiness.png
regions (オプション)
リージョンのリスト(注意:リージョンキーの前に、ダッシュ ” - ”はつきません)。contentリージョンは必須です。 詳しくは、「テーマにリージョンを追加する」ページを参照。
regions:
header: Header
content: Content
sidebar_first: 'First sidebar'
regions_hidden (オプション)
ベーステーマから継承したリージョンで、削除するリージョンをリストで設定します。
regions_hidden:
- sidebar_last
features (オプション)
テーマの「設定」ページで公開する機能をリストで設定します。
features:
- comment_user_verification
- comment_user_picture
- favicon
- logo
- node_user_picture
stylesheets-remove (廃止予定)
このテーマが有効なすべてのページにおいて削除する、他のテーマやモジュールに由来のスタイルシートの一覧を設定します。同じ名前を持つファイルが存在する場合もあるので、ルートを基準にした絶対パスで設定します。 ファイルが、モジュールまたはテーマで使用するライブラリの一部の場合、絶対パスではなく、”@” の後に、モジュール名またはライブラリ名を書き(モジュールまたはライブラリを読み込みます)、モジュールまたはライブラリ内のパスを記載します。 "@"はYAMLの予約済みインジケータのため、値を引用符で囲む必要があります。
注:このキーは推奨されておらず、Drupal 9 で削除されます。ほとんどの場合、libraries-override で設定が可能です。
ckeditor_stylesheets (オプション)
CKEditorのフレーム内に追加するスタイルシートをリストで設定します。
ckeditor_stylesheets:
- https://fonts.googleapis.com/css?family=Open+Sans
- css/base/elements.css
詳しくは
- .Drupal テーマにスタイルシート(CSS)とJavaScript(JS)を追加する
- * .info.ymlファイルで利用可能なすべてのキーに関する説明:Let Drupal 8 know about your module with a .info.yml file
関連コンテンツ
Drupal 8初心者講座バックナンバー
Drupal初心者講座について
第1回 歴史に見るDrupal のDNA
第2回 Drupalはフレームワークか?CMSか?
第3回 Drupalの特徴
第4回 Drupal 8のインストール(1)
第5回 Drupal 8のインストール(2)
第6回 コンテンツを投稿してみる
第7回 ボキャブラリとタクソノミーを使う
第8回 コンテンツ管理におけるDrupalと他のCMSとの比較
第9回 Drupal 8のブロックシステム
第10回 Drupalの標準クエリービルダ Views
第11回 Drupalと他のCMSのクエリビルダー機能を比較
第12回 Drupal 8の多言語機能と他のCMSやサービスとの比較
第13回 Drupalの権限設定とWordPressやMovable Typeとの比較
第14回 Drupalのテーマシステムについて
第15回 Drupalの拡張モジュールの選定と利用方法
第16回 Drupalをもっと知りたい方に向けた各種情報