logo

パレット - カラフルに🎨

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

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

Scroll

Drupal 8モジュールにデフォルト設定を含める

24/04/2020, by maria

Menu

主要テーマ: デフォルト設定

概要

Drupal 7では、コンテンツタイプ、フィールド設定、ビューなどのモジュールのデフォルト設定には、インストールと更新のための特別なPHPコードが必要でした。Drupal 8では、これらは設定システムとともにYAMLテキストファイルに保存されます。

例えば、設定管理システムはコンテンツタイプの作成と管理を行います。適切な名前と構造を持つ設定ファイルを作成することで、モジュールと一緒にコンテンツタイプを配布できます。

node.type.example_mytype.ymlという名前のファイルを作成し、モジュールディレクトリのconfig/installサブディレクトリに配置します。例えば、モジュールが/modules/exampleにある場合、このファイルは/modules/example/config/install/node.type.example_mytype.ymlに配置できます。

モジュール名の前にコンテンツタイプのプレフィックスを付け、その後にアンダースコアを続けるという命名規則に従ってください。これにより、他の設定ファイルとの競合を避けられます。

次に、このファイルに次のコードを配置できます:

type: example_mytype
name: Example
description: 'Use <em>example</em> content to get to Drupal 8 development better.'
help: ''
new_revision: false
display_submitted: true
preview_mode: 1
status: true
langcode: en

実際の例についてはnode.type.article.ymlを参照してください。

ブロックの配置、ビュー、テキスト形式、エディター設定、ユーザーロールなどの他のものについても、同じ方法でデフォルト設定を含めることができます。

ノードの著者などのフォームフィールドのデフォルト値を設定できます。

このコンテンツタイプを追加する前にモジュールをインストールした場合は、設定を有効にするためにモジュールをアンインストールして再インストールする必要があります。

設定のエクスポート

これらのファイルは、設定>開発>設定同期で設定をエクスポートして作成できます。「単一のインポート/エクスポート」機能を使用して、設定の一部をエクスポートできます。その場合、設定ファイルにコピー/貼り付けするコードを含むテキスト領域が表示されます。または、「完全エクスポート」を実行して、すべての設定ファイルを1つのフォルダーに含むtar.gzファイルをダウンロードすることもできます。

エクスポートした設定を使用する場合は、設定からUUIDを削除することが重要です。各設定はこの識別子によって一意に識別されます。このUUIDをモジュールに含めると、モジュールを使用するすべてのサイトで同じ識別子になるため、一意ではなくなります。設定からこの行を削除するだけで、モジュールが有効になったときにDrupalが新しいUUIDを生成し、一意性が保証されます。

uuid: 626187e6-2176-4a73-8900-c0912580e4a1 < < Remove this!
langcode: en
status: true

Drupalコンソール

ユーティリティのDrupal Consoleは次のコマンドを提供します:

次のタスクを実行します:

  • 指定されたコンテンツタイプに関連するすべての設定ファイル(フィールド設定ファイルを含む)をエクスポートします。
  • 適切なモジュールの設定ディレクトリに配置します。

これにより、上記の手動プロセスで必要な多くの作業が省かれます。

関連情報