function FieldHooks::entityBundleFieldInfo
Implements hook_entity_bundle_field_info().
File
-
core/
modules/ field/ src/ Hook/ FieldHooks.php, line 192
Class
- FieldHooks
- Hook implementations for field.
Namespace
Drupal\field\HookCode
public function entityBundleFieldInfo(EntityTypeInterface $entity_type, $bundle, array $base_field_definitions) {
if (\Drupal::entityTypeManager()->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_config')->condition('id', $entity_type->id() . '.' . $bundle . '.', 'STARTS_WITH')
->execute();
// Fetch all fields and key them by field name.
$field_configs = FieldConfig::loadMultiple($ids);
$result = [];
foreach ($field_configs as $field_instance) {
$result[$field_instance->getName()] = $field_instance;
}
return $result;
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.