logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll

.info.ymlファイルを使用したテーマの定義

02/05/2020, by maria

Drupal 8テーマを作成するには、まず、テーマに関するメタデータをDrupalに提供するTHEMENAME.info.ymlファイルを作成する必要があります。これはモジュールやインストールプロファイルが定義される方法と似ているため、ファイルの「type」キーを「theme」に設定して区別することが重要です。

このページには、THEMENAME.info.ymlファイルの例と、ファイルに含めることができる情報の概要が含まれています。

.info.ymlファイルを作成する

テーマフォルダーのルートに.info.ymlファイルを作成します。フォルダーは.info.ymlファイルと同じ名前である必要があります。したがって、テーマ名が「Fluffiness」の場合、フォルダーは「fluffiness/」で、.info.ymlファイルは「fluffiness/fluffiness.info.yml」になります。ファイルが最小限の必須プロパティ(name、type、core)で存在する場合、テーマはWebサイトの「管理> 外観」(http://example.com/admin/appearance)に表示されます。モジュールや別のテーマでまだ使用されていないテーマ名を選択することを忘れないでください。テーマ名は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 - 名前(必須)

人間が読める名前。テーマがアクティブ化された「外観」ページに表示されます。

name: Fluffiness

type - タイプ(必須)

拡張機能のタイプ(「module」「theme」「profile」)を指定します。テーマの場合、これは常に「theme」である必要があります。この値は大文字と小文字が区別されます。

type: theme

description - 説明(オプション)

「外観」ページに表示される説明。

description: An extra cuddly Drupal theme available in grey and blue.

package - パッケージ(オプション)

テーマをグループ化できる「パッケージ」を定義します。

package: Core

core(必須)

テーマが互換性のあるDrupalコアバージョンを定義します。

core: 8.x

php(オプション)

必要な最小PHPバージョン。デフォルトはDRUPAL_MINIMUM_PHP定数の値です。

php: 5.5.9

version - バージョン(オプション)

バージョンを定義します。drupal.orgでホストされているテーマの場合、バージョン番号はパッケージングスクリプトによって入力されます。これを手動で指定せず、バージョン行を完全に除外してください。

version: 8.x-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(オプション)

テーマを「外観」ページから非表示にして、UIから有効/無効にできないようにするかどうかを指定します。

hidden: true

engine(オプション)

テーマエンジン。デフォルトは「twig」です。

engine: twig

logo - ロゴ(オプション)

変更記録を参照してください:https://www.drupal.org/node/2939152

テーマの.info.ymlファイルを基準にしたロゴへのパス。デフォルトでは、Drupalはテーマフォルダーのルートで「logo.svg」という名前のファイルを探し、テーマのロゴとして使用します。

logo: images/logo.png

screenshot - スクリーンショット(オプション)

テーマの.info.ymlファイルを基準にしたスクリーンショットへのパス。スクリーンショットは、小さいサイズで表示されますが、幅588ピクセル、高さ438ピクセルにする必要があります。デフォルトでは、Drupalはテーマのルートディレクトリで「screenshot.png」という名前のファイルを探し、「外観」ページでテーマ画像として使用します。

screenshot: fluffiness.png

regions - リージョン(オプション)

テーマリージョンのリスト。(リージョンキーの前にはハイフンが付かないことに注意してください。)テーマへのリージョンの追加について詳しく学ぶ。

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 - スタイルシート - 削除(非推奨)

テーマがアクティブなすべてのページから削除する、他のモジュールまたはテーマのスタイルシートのリスト。同じ名前のファイルが複数存在する場合の曖昧さを排除するために、各値はドキュメントルートからの完全なパスである必要があります。ファイルがモジュールまたはテーマに属するライブラリの一部である場合、完全なパスの代わりに@module_or_theme_name形式のトークンを使用できます。トークンを使用する場合、「@」はYAMLの予約済みインジケーターであるため、値を引用符で囲む必要があることに注意してください。注:このキーは非推奨であり、Drupal 9で削除されます。ほとんどの場合、libraries-overrideを使用する必要があります。

stylesheets-remove:
  - core/assets/vendor/normalize-css/normalize.css
  - '@classy/css/components/tabs.css'

ckeditor_stylesheets(オプション)

CKEditorフレームに追加されるスタイルシートのリスト。

ckeditor_stylesheets:
  - https://fonts.googleapis.com/css?family=Open+Sans
  - css/base/elements.css

詳細情報