# Property Info für Entity Metadata Wrapper definieren
Damit u.a. [[Entity Metadata Wrapper]] korrekt funktioniert, benötigt das Entity Modul Informationen über die möglichen Properties und welche Daten es enthalten kann. Diese Informationen werden über die Funktionen `hook_entity_property_info()` und `hook_entity_property_info_alter()` definiert. Diese beiden Funktionen werden hauptsächlich genutzt, um die Informationen für neue Entities zu definieren, bzw. zu verändern.
TODO: Einfaches Beispiel für `hook_entity_property_info()` schreiben.
Um diese Informationen für ein ein einzelnes (neues) Feld zu definieren kann dies direkt mit `hook_field_info()` gemacht werden, indem zusätzliche Key in dem Array gesetzt werden.
Die möglichen Typen, für Properties sind hier zu finden: [[https://www.drupal.org/node/905580|Data Types]]
#### Beispiel für die Definition von Property Info bei einem Feld
/**
* Implements hook_field_info().
*/
function hook_field_info() {
return array(
'my_field' => array(
'label' => t('My field'),
// ... the normal definitions for a new field.
// Add entity property info.
'property_type' => 'text',
),
);
}
Das Beispiel oben funktioniert für einfache Felder. Bei komplexeren Feldern (die z.B. über mehrere Spalten gehen), muss zusätzlich ein Callback verwendet werden. Eine beispielhafte Implementierung zeigt der Artikel: [[http://www.thecarneyeffect.co.uk/describe-field-properties-make-custom-fields-work-entity-metadata-wrappers|Describe field properties to make custom fields work with Entity Metadata Wrappers]]
{{tag>drupal7 entities unfertig}}