public static function CalendarEvent::bundleFieldDefinitions in Opigno calendar event 8
Same name and namespace in other branches
- 3.x src/Entity/CalendarEvent.php \Drupal\opigno_calendar_event\Entity\CalendarEvent::bundleFieldDefinitions()
Provides field definitions for a specific bundle.
This function can return definitions both for bundle fields (fields that are not defined in $base_field_definitions, and therefore might not exist on some bundles) as well as bundle-specific overrides of base fields (fields that are defined in $base_field_definitions, and therefore exist for all bundles). However, bundle-specific base field overrides can also be provided by 'base_field_override' configuration entities, and that is the recommended approach except in cases where an entity type needs to provide a bundle-specific base field override that is decoupled from configuration. Note that for most entity types, the bundles themselves are derived from configuration (e.g., 'node' bundles are managed via 'node_type' configuration entities), so decoupling bundle-specific base field overrides from configuration only makes sense for entity types that also decouple their bundles from configuration. In cases where both this function returns a bundle-specific override of a base field and a 'base_field_override' configuration entity exists, the latter takes precedence.
@todo WARNING: This method will be changed in https://www.drupal.org/node/2346347.
Parameters
\Drupal\Core\Entity\EntityTypeInterface $entity_type: The entity type definition. Useful when a single class is used for multiple, possibly dynamic entity types.
string $bundle: The bundle.
\Drupal\Core\Field\FieldDefinitionInterface[] $base_field_definitions: The list of base field definitions.
Return value
\Drupal\Core\Field\FieldDefinitionInterface[] An array of bundle field definitions, keyed by field name.
Overrides ContentEntityBase::bundleFieldDefinitions
See also
\Drupal\Core\Entity\EntityFieldManagerInterface::getFieldDefinitions()
\Drupal\Core\Entity\FieldableEntityInterface::baseFieldDefinitions()
2 calls to CalendarEvent::bundleFieldDefinitions()
- CalendarEvent::storageFieldDefinitions in src/
Entity/ CalendarEvent.php - Provides storage field definitions for this entity type.
- opigno_calendar_event_opigno_calendar_event_type_insert in ./
opigno_calendar_event.module - Implements hook_entity_bundle_create().
File
- src/
Entity/ CalendarEvent.php, line 253
Class
- CalendarEvent
- Defines the "Calendar event" entity class.
Namespace
Drupal\opigno_calendar_event\EntityCode
public static function bundleFieldDefinitions(EntityTypeInterface $entity_type, $bundle, array $base_field_definitions) {
$fields = [];
$type = static::getCalendarEventType($bundle);
if (!$type) {
\Drupal::logger('opigno_calendar_event')
->error('Invalid bundle %bundle specified when providing bundle field definitions.', [
'%bundle' => $bundle,
]);
return $fields;
}
$field_type = static::getDateFieldType($type);
$field_name = static::getDateFieldName($type);
$fields[$field_name] = BundleFieldDefinition::create($field_type)
->setName($field_name)
->setTargetEntityTypeId($entity_type
->id())
->setLabel(new TranslatableMarkup('Date'))
->setRequired(TRUE)
->setRevisionable(TRUE)
->setTranslatable(FALSE)
->setDisplayConfigurable('view', TRUE)
->setDisplayOptions('view', [
'type' => $field_type . '_default',
'weight' => -3,
])
->setDisplayConfigurable('form', TRUE)
->setDisplayOptions('form', [
'type' => $field_type . '_default',
'weight' => -3,
]);
return $fields;
}