
Wie man ein Modul programmatisch in Drupal 8 aktiviert (installiert)
Bei der Verwaltung einer Website gibt es einige Situationen, in denen Sie ein Modul programmgesteuert aktivieren möchten. In diesem Beitrag sehen wir, wie das in Drupal 8 funktioniert.
Warum sollten Sie ein Modul programmgesteuert aktivieren?
In einer Drupal-Agentur sind wir auf verschiedene Szenarien gestoßen, in denen es die beste Lösung ist, Module programmgesteuert zu aktivieren. Hauptsächlich ist dies das Ergebnis der Verwendung von CI zur Verwaltung der Entwicklungspipeline, aber es gibt auch noch andere spezifische Situationen:
- Vielleicht unterstützen Sie eine sehr stark frequentierte Drupal-Geschäftswebsite, die nicht viel Ausfallzeit haben darf. Die beste Methode für die Bereitstellung in einem solchen Fall ist es, alle Änderungen im Code vorzubereiten und sie automatisch in die Produktion zu überführen.
- Es könnte sein, dass Sie an einer sehr großen Unternehmenswebsite arbeiten und keinen Zugang zu einer Produktionsumgebung haben. Wenn Ihre Aufgabe ein neues Modul erfordert, ist die Installation per Code der einzige Weg, es zu liefern.
Jeder Drupal-Entwickler wird davon profitieren, die Fähigkeit zu haben, ein Modul aus dem Code heraus zu installieren.
Installation
Eine große Änderung in Drupal 8 ist, dass Sie Module nicht mehr aktivieren und deaktivieren können. Sie können sie nur installieren und deinstallieren. Der Unterschied ist entscheidend.
In Drupal 7 konnten Sie, wenn Sie ein Modul deaktiviert und dann wieder aktiviert haben, die Moduleinstellungen und alle von diesem Modul gespeicherten Daten behalten. Dies ist im Drupal 8 nicht mehr der Fall. Ein Deinstallieren bedeutet, dass alle Daten und Einstellungen, die zum Modul hinzugefügt wurden, als es installiert wurde, vollständig entfernt werden. Seien Sie also bitte vorsichtig :)
Wie installiert man ein Modul programmgesteuert? Sehen Sie unten nach:
Lassen Sie uns das Admin Toolbar installieren. Ein praktisches Modul, das die standardmäßige Drupal-Toolbar erweitert.
\Drupal::service('module_installer')->install(['admin_toolbar']);