it-swarm.com.de

So legen Sie das Standardthema programmgesteuert fest

Ich habe versucht, ein Thema als Standardthema in drupal 8) mit dem folgenden Code festzulegen

> $config = \Drupal::configFactory()->getEditable('system.theme');  
> $config->set('default', 'test_theme')->save();

Bei der Installation des Moduls setzt der Code das Thema nicht so, wie ich es eingegeben habe. Der Code ist in hook_install () geschrieben.

5

Das aktueller Hinweis ist dies über config einzustellen:

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

Die vorherige Methode mit ThemeHandlerInterface::setDefault() ist jetzt veraltet.

Möglicherweise müssen Sie es auch zuerst installieren, ich bin mir nicht sicher. Falls Sie dies tun:

\Drupal::service('theme_installer')->install(['test_theme']);
7
Clive

Ich möchte nur zu dieser Antwort beitragen, indem ich hinzufüge, dass Sie sich keine Sorgen machen müssen, beide Befehle auszuführen, wenn das Thema bereits installiert ist. Es führt technisch den darunter liegenden Dienst theme_installer aus und sucht zuvor nach installierten Themen.

0
Gloria Tucker