Wie erhalte ich eine Liste aller auf einer Drupal 8-Site definierten Inhaltstypen?
In Drupal 7 war es früher node_type_get_types()
, aber es wurde veraltet.
Ich habe es versucht, Entity::loadMultiple()
aber es scheint nicht zu funktionieren. Ich habe über eine benutzerdefinierte Abfrage nachgedacht, weiß aber nicht, wie sie in der Datenbank gespeichert ist.
loadMultiple()
,load()
undcreate()
Methoden ist sie auf dem Entitätstyp Klasse aufrufen , die Sie verwenden möchten, dann rechnet sie die Art und Anwendungen funktioniert die oben dynamisch. Dies ist etwas kürzer und einfacher zu verwenden, es wird jedoch empfohlen, wenn möglich injizierte Dienste zu verwenden. In einem Dienst / Controller / Plugin würden Sie also den Entitätstyp-Manager injizieren und diesen dann verwenden. Ermöglicht einfachere (Einheits-) Tests, aber das Ergebnis ist mehr oder weniger das gleiche.Es gibt eine weitere Drupal-Hilfsfunktion, die ab 8.7 nicht mehr veraltet ist.
node_type_get_names()
kehrt zurück:API-Dokumente
quelle
Vorausgesetzt, falls es
node_type_get_names()
in Zukunft veraltet sein sollte (auch ein schönesarray_map
Anwendungsbeispiel):quelle