public EntityDataDefinition::getPropertyDefinitions()
Gets an array of property definitions of contained properties.
Return value
\Drupal\Core\TypedData\DataDefinitionInterface[] An array of property definitions of contained properties, keyed by property name.
Overrides ComplexDataDefinitionBase::getPropertyDefinitions
File
- core/lib/Drupal/Core/Entity/TypedData/EntityDataDefinition.php, line 52
Class
- EntityDataDefinition
- A typed data definition class for describing entities.
Namespace
Drupal\Core\Entity\TypedData
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | public function getPropertyDefinitions() { if (!isset( $this ->propertyDefinitions)) { if ( $entity_type_id = $this ->getEntityTypeId()) { // Return an empty array for entities that are not content entities. $entity_type_class = \Drupal::entityManager()->getDefinition( $entity_type_id )->getClass(); if (!in_array( 'Drupal\Core\Entity\FieldableEntityInterface' , class_implements( $entity_type_class ))) { $this ->propertyDefinitions = array (); } else { // @todo: Add support for handling multiple bundles. $bundles = $this ->getBundles(); if ( is_array ( $bundles ) && count ( $bundles ) == 1) { $this ->propertyDefinitions = \Drupal::entityManager()->getFieldDefinitions( $entity_type_id , reset( $bundles )); } else { $this ->propertyDefinitions = \Drupal::entityManager()->getBaseFieldDefinitions( $entity_type_id ); } } } else { // No entity type given. $this ->propertyDefinitions = array (); } } return $this ->propertyDefinitions; } |
Please login to continue.