Как программно установить тему по умолчанию


Я пытаюсь создать профиль установки и хочу, чтобы моя пользовательская тема была включена и установлена по умолчанию после установки.

Добавление в MYPROFILE.info.yml...

theme:
  - my_theme

...этого недостаточно. Это только устанавливает его, но не устанавливается в качестве темы по умолчанию.

Я думаю, мне нужно сделать что-то еще в файле MYPROFILE.install в

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

Спасибо

Author: Guillaume Bois, 2016-05-27

2 answers

Глядя на ThemeController::setDefaultTheme ( обработчик запросов для маршрута /admin/внешний вид/по умолчанию), это должно сработать:

\Drupal::configFactory()
  ->getEditable('system.theme')
  ->set('default', 'machine_name')
  ->save();
 11
Author: Clive, 2016-05-27 19:34:24

Вы можете создать сайт с правильной темой по умолчанию и скопировать файлы конфигурации, связанные с темой, в каталог конфигурации вашего профиля (или все файлы, если это имеет смысл для вашего профиля).

См. https://www.drupal.org/node/2210443#config для большего.

 -2
Author: acrosman, 2016-05-27 19:37:57