File
- core/
modules/ system/ tests/ modules/ entity_test/ src/ Entity/ EntityTestComputedBundleField.php, line 66
Class
- EntityTestComputedBundleField
- An entity used for testing computed bundle field values.
Namespace
Drupal\entity_test\EntityCode
public static function bundleFieldDefinitions(EntityTypeInterface $entity_type, $bundle, array $base_field_definitions) {
$fields = parent::bundleFieldDefinitions($entity_type, $bundle, $base_field_definitions);
$computed_field_bundles = [
'entity_test_comp_bund_fld_bund',
'entity_test_comp_bund_fld_bund_2',
];
if (in_array($bundle, $computed_field_bundles, TRUE)) {
// @todo Use the proper FieldStorageDefinition class instead
// https://www.drupal.org/node/2280639.
$storageDefinition = FieldStorageDefinition::create('string')
->setName('computed_bundle_field')
->setTargetEntityTypeId($entity_type
->id())
->setComputed(TRUE)
->setClass(ComputedTestBundleFieldItemList::class);
$fields['computed_bundle_field'] = FieldDefinition::createFromFieldStorageDefinition($storageDefinition)
->setLabel(t('A computed Bundle Field Test'))
->setComputed(TRUE)
->setClass(ComputedTestBundleFieldItemList::class);
}
return $fields;
}