it-swarm.com.de

Wie rufe ich die ConfigEntity-Instanz aus der Konfigurationsfactory ab?

Ich habe in meinem Modul eine Konfigurationsentität definiert (Schema und Klasse, die ConfigEntityBase erweitert) - MyConfigEntity.

Wenn ich die Konfigurationsfactory verwende, um die Konfiguration abzurufen, gibt Drupal die Instanz von Config oder ImmutableConfig zurück. Wie kann ich stattdessen die Instanz von MyConfigEntity abrufen?

$config = \Drupal::config('my_module.config.something');
// Now $config is instance of ImmutableConfig.
4
SiliconMind

\ Drupal :: config ()

Ruft ein Konfigurationsobjekt ab.

Dies ist der Haupteinstiegspunkt für die Konfigurations-API.

Die Konfigurations-API ist ein anderes System als die Entitäts-API.

$entity = \Drupal::entityTypeManager()
  ->getStorage('my_config_entity')
  ->load($id);

Konfigurationsentitätstypen sollten verwendet werden, um konfigurierbare Inhalte wie Inhaltstypen oder andere Site Builder-ähnliche Dinge zu speichern, die Sie von Umgebung zu Umgebung bereitstellen möchten, in der kein Inhalt verwaltet wird (etwas, das ein Inhaltsautor schreiben würde).

Wenn Sie nach einem komplexen Konfigurationsobjekt suchen, sollten Sie dies in config/mymodule.settings.yml Definieren und die Konfigurations-API wie in Ihrer Frage verwenden.

8
mradcliffe

Überprüfen Sie dies configFactory .

Sie müssen nur tun:

\Drupal::configFactory()->getEditable('my_module.config.something');