Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

webworking:cms:drupal:drupal8:drupal_8_module_entwickeln:content_entities:alle_verfuegbaren_field_types_auflisten [19.04.2018 12:41] (aktuell)
cbeier angelegt
Zeile 1: Zeile 1:
 +# Alle verfügbaren Field Types auflisten
  
 +Die Felder oder Eigenschaften einer [[https://​www.drupal.org/​docs/​8/​api/​entity-api/​create-a-custom-content-entity|Content Entity in Drupal 8]] werden innerhalb der Entity Klasse in der ```baseFieldDefinitions``` Methode implementiert. Beispiel:
 +
 +<code php>
 +class Advertiser extends ContentEntityBase implements ContentEntityInterface {
 +  public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
 +    // Standard field, used as unique if primary index.
 +    $fields['​id'​] = BaseFieldDefinition::​create('​integer'​)
 +      ->​setLabel(t('​ID'​))
 +      ->​setDescription(t('​The ID of the Advertiser entity.'​))
 +      ->​setReadOnly(TRUE);​
 +
 +    // Standard field, unique outside of the scope of the current project.
 +    $fields['​uuid'​] = BaseFieldDefinition::​create('​uuid'​)
 +      ->​setLabel(t('​UUID'​))
 +      ->​setDescription(t('​The UUID of the Advertiser entity.'​))
 +      ->​setReadOnly(TRUE);​
 +
 +    return $fields;
 +  }
 +}
 +</​code>​
 +
 +## Verfügbar Feldtypen anzeigen
 +
 +Damit man weiß, welche Feldtypen alle zur Verfügung stehen, die dann in ```BaseFieldDefinition::​create()``` genutzt werden können, kann man sich diese mit folgendem Befehl auflisten lassen:
 +
 +<code php>
 +$types = Drupal::​service('​plugin.manager.field.field_type'​)->​getDefinitions();​
 +foreach ($types as $key => $value) {
 +  echo $key, "​\";​
 +}
 +</​code>​
 +
 +## Verfügbare Feldtypen in einem Standard Drupal
 +
 +In einer Standard Drupal 8 Installation gibt es die folgenden Typen:
 +
 +* comment
 +* datetime
 +* file
 +* image
 +* link
 +* list\_string
 +* list\_float
 +* list\_integer
 +* path
 +* text\_with\_summary
 +* text
 +* text\_long
 +* email
 +* boolean
 +* created
 +* changed
 +* timestamp
 +* string\_long
 +* language
 +* decimal
 +* uri
 +* float
 +* password
 +* string
 +* integer
 +* entity\_reference
 +* uuid
 +* map
 +* taxonomy\_term\_reference
 +
 +Da aber viele Contrib Module auch zusätzliche Typen implementieren,​ ist es immer nützlich, sich die verfügbaren Feldtypen für die eigene Installation anzeigen zu lassen.
 +
 +{{tag>​drupal8}}