Skip to content
Snippets Groups Projects

3057545

Files
4
@@ -40,7 +40,7 @@
* list_class = "\Drupal\Core\Field\EntityReferenceFieldItemList",
* )
*/
class EntityReferenceItem extends FieldItemBase implements OptionsProviderInterface, PreconfiguredFieldUiOptionsInterface {
class EntityReferenceItem extends FieldItemBase implements EntityReferenceItemInterface, OptionsProviderInterface, PreconfiguredFieldUiOptionsInterface {
/**
* {@inheritdoc}
@@ -726,4 +726,19 @@ public static function getPreconfiguredOptions() {
return $options;
}
/**
* {@inheritdoc}
*/
public static function getReferenceableBundles(FieldDefinitionInterface $field_definition) {
$settings = $field_definition->getSettings();
$target_type_id = $settings['target_type'];
$handler_settings = $settings['handler_settings'];
$has_target_bundles = isset($handler_settings['target_bundles']) && !empty($handler_settings['target_bundles']);
$target_bundles = $has_target_bundles
? $handler_settings['target_bundles']
: array_keys(\Drupal::service('entity_type.bundle.info')->getBundleInfo($target_type_id));
return [$target_type_id => $target_bundles];
}
}
Loading