web-dev-qa-db-ja.com

プログラムでデフォルトのテーマを設定する方法

インストールプロファイルを作成しようとしていますが、カスタムテーマを有効にして、インストール後にデフォルトで設定したいと考えています。

MYPROFILE.info.ymlに追加しています...

theme:
  - my_theme

...十分ではありません。これはインストールするだけですが、デフォルトのテーマとして設定されていません。

私はMYPROFILE.installファイルで何か他のことをする必要があると思います

function MYPROFILE_install() {
  // how to set as default my custom theme
}

ありがとうございました

8
Guillaume Bois

見つめている - ThemeController::setDefaultTheme (/ admin/appearance/defaultルートの要求ハンドラ)、これはトリックを実行するはずです:

\Drupal::configFactory()
  ->getEditable('system.theme')
  ->set('default', 'machine_name')
  ->save();
11
Clive