it-swarm.com.de

Wie erhalte ich programmgesteuert den Feldtyp eines bestimmten Feldes?

Ich kann eine Liste der Feldtypen mit dem folgenden Code erhalten.

$defs = \Drupal::service('plugin.manager.field.field_type')->getDefinitions();

Ich möchte den Feldtyp eines bestimmten Feldes erhalten. Wie bekomme ich es?

Zum Beispiel möchte ich überprüfen, ob der Feldtyp von field_image _image ist. Gibt es einen ähnlichen Code wie den folgenden?

$fieldType = \Drupal::service('plugin.manager.field.field_type')->getDefinition('field_image');
5
Matt

Mit "Feldtyp eines bestimmten Feldes abrufen" meinen Sie wahrscheinlich ein bestimmtes Feld einer Entität. Es kann Felder mit demselben Namen geben, die in verschiedenen Entitäten unterschiedliche Typen haben.

Zum Beispiel der Feldtyp eines Feldes in einem Knoten:

$field_type = $node->get($field_name)->getFieldDefinition()->getType();

kann sich von der des gleichen Feldes in einem Kommentar unterscheiden:

$field_type = $comment->get($field_name)->getFieldDefinition()->getType();
8
4k4