public static function EntityReferenceRevisionsItem::getPreconfiguredOptions in Entity Reference Revisions 8
Returns preconfigured field options for a field type.
Note that if you want to give modules an opportunity to alter the result of this method, you should call \Drupal\Core\Field\FieldTypePluginManagerInterface::getPreconfiguredOptions() instead.
Return value
mixed[][] A multi-dimensional array with string keys and the following structure:
- label: The label to show in the field type selection list.
- category: (optional) The category in which to put the field label. Defaults to the category of the field type.
- field_storage_config: An array with the following supported keys:
- cardinality: The field cardinality.
- settings: Field-type specific storage settings.
- field_config: An array with the following supported keys:
- required: Indicates whether the field is required.
- settings: Field-type specific settings.
- entity_form_display: An array with the following supported keys:
- type: The widget to be used in the 'default' form mode.
- entity_view_display: An array with the following supported keys:
- type: The formatter to be used in the 'default' view mode.
Overrides EntityReferenceItem::getPreconfiguredOptions
See also
\Drupal\field\Entity\FieldStorageConfig
\Drupal\field\Entity\FieldConfig
\Drupal\Core\Entity\Display\EntityDisplayInterface::setComponent()
\Drupal\Core\Field\FieldTypePluginManagerInterface::getPreconfiguredOptions()
File
- src/
Plugin/ Field/ FieldType/ EntityReferenceRevisionsItem.php, line 72
Class
- EntityReferenceRevisionsItem
- Defines the 'entity_reference_revisions' entity field type.
Namespace
Drupal\entity_reference_revisions\Plugin\Field\FieldTypeCode
public static function getPreconfiguredOptions() {
$options = array();
// Add all the commonly referenced entity types as distinct pre-configured
// options.
$entity_types = \Drupal::entityTypeManager()
->getDefinitions();
$common_references = array_filter($entity_types, function (EntityTypeInterface $entity_type) {
return $entity_type
->get('common_reference_revisions_target') && $entity_type
->isRevisionable();
});
/** @var \Drupal\Core\Entity\EntityTypeInterface $entity_type */
foreach ($common_references as $entity_type) {
$options[$entity_type
->id()] = [
'label' => $entity_type
->getLabel(),
'field_storage_config' => [
'settings' => [
'target_type' => $entity_type
->id(),
],
],
];
$default_reference_settings = $entity_type
->get('default_reference_revision_settings');
if (is_array($default_reference_settings)) {
$options[$entity_type
->id()] = array_merge($options[$entity_type
->id()], $default_reference_settings);
}
}
return $options;
}