public function FieldStorageConfig::getOptionsProvider in Drupal 9
Same name and namespace in other branches
- 8 core/modules/field/src/Entity/FieldStorageConfig.php \Drupal\field\Entity\FieldStorageConfig::getOptionsProvider()
Gets an options provider for the given field item property.
Parameters
string $property_name: The name of the property to get options for; e.g., 'value'.
\Drupal\Core\Entity\FieldableEntityInterface $entity: The entity for which the options should be provided.
Return value
\Drupal\Core\TypedData\OptionsProviderInterface|null An options provider, or NULL if no options are defined.
Overrides FieldStorageDefinitionInterface::getOptionsProvider
File
- core/
modules/ field/ src/ Entity/ FieldStorageConfig.php, line 659
Class
- FieldStorageConfig
- Defines the Field storage configuration entity.
Namespace
Drupal\field\EntityCode
public function getOptionsProvider($property_name, FieldableEntityInterface $entity) {
// If the field item class implements the interface, create an orphaned
// runtime item object, so that it can be used as the options provider
// without modifying the entity being worked on.
if (is_subclass_of($this
->getFieldItemClass(), OptionsProviderInterface::class)) {
$items = $entity
->get($this
->getName());
return \Drupal::service('plugin.manager.field.field_type')
->createFieldItem($items, 0);
}
// @todo: Allow setting custom options provider, see
// https://www.drupal.org/node/2002138.
}