我正在尝试构建安装配置文件,并且希望启用自定义主题并在安装后默认情况下进行设置。
正在添加MYPROFILE.info.yml ...
theme:
- my_theme
...是不足够的。这只会安装它,但不会将其设置为默认主题。
我想我必须在MYPROFILE.install文件中执行其他操作
function MYPROFILE_install() {
// how to set as default my custom theme
}
谢谢
我正在尝试构建安装配置文件,并且希望启用自定义主题并在安装后默认情况下进行设置。
正在添加MYPROFILE.info.yml ...
theme:
- my_theme
...是不足够的。这只会安装它,但不会将其设置为默认主题。
我想我必须在MYPROFILE.install文件中执行其他操作
function MYPROFILE_install() {
// how to set as default my custom theme
}
谢谢
Answers:
看一下ThemeController::setDefaultTheme
(/ admin / appearance / default路由的请求处理程序),这应该可以解决问题:
\Drupal::configFactory()
->getEditable('system.theme')
->set('default', 'machine_name')
->save();
\Drupal::service('theme_installer')->install(['theme_name']);
您可以创建一个具有正确默认主题的网站,然后将与主题相关的配置文件复制到您的配置文件的config目录中(或所有文件,如果对您的配置文件有意义)。
有关更多信息,请参见https://www.drupal.org/node/2210443#config。