hook_entity_field_storage_info(\Drupal\Core\Entity\EntityTypeInterface $entity_type)
Provides field storage definitions for a content entity type.
Parameters
\Drupal\Core\Entity\EntityTypeInterface $entity_type: The entity type definition.
Return value
\Drupal\Core\Field\FieldStorageDefinitionInterface[] An array of field storage definitions, keyed by field name.
See also
hook_entity_field_storage_info_alter()
\Drupal\Core\Field\FieldStorageDefinitionInterface
\Drupal\Core\Entity\EntityManagerInterface::getFieldStorageDefinitions()
Related topics
- Hooks
- Define functions that alter the behavior of Drupal core.
File
- core/lib/Drupal/Core/Entity/entity.api.php, line 1773
- Hooks and documentation related to entities.
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function hook_entity_field_storage_info(\Drupal\Core\Entity\EntityTypeInterface $entity_type ) { if (\Drupal::entityManager()->getStorage( $entity_type ->id()) instanceof DynamicallyFieldableEntityStorageInterface) { // Query by filtering on the ID as this is more efficient than filtering // on the entity_type property directly. $ids = \Drupal::entityQuery( 'field_storage_config' ) ->condition( 'id' , $entity_type ->id() . '.' , 'STARTS_WITH' ) ->execute(); // Fetch all fields and key them by field name. $field_storages = FieldStorageConfig::loadMultiple( $ids ); $result = array (); foreach ( $field_storages as $field_storage ) { $result [ $field_storage ->getName()] = $field_storage ; } return $result ; } } |
Please login to continue.