3 namespace Drupal\entity_module_test\Entity;
5 use Drupal\Core\Entity\EntityTypeInterface;
6 use Drupal\Core\Field\BaseFieldDefinition;
7 use Drupal\entity\Revision\RevisionableContentEntityBase;
10 * Provides a test entity which uses all the capabilities of entity module.
13 * id = "entity_test_enhanced",
14 * label = @Translation("Enhanced entity"),
15 * label_collection = @Translation("Enhanced entities"),
16 * label_singular = @Translation("enhanced entity"),
17 * label_plural = @Translation("enhanced entities"),
18 * label_count = @PluralTranslation(
19 * singular = "@count enhanced entity",
20 * plural = "@count enhanced entities",
23 * "storage" = "\Drupal\Core\Entity\Sql\SqlContentEntityStorage",
24 * "access" = "\Drupal\Core\Entity\EntityAccessControlHandler",
25 * "permission_provider" = "\Drupal\entity\EntityPermissionProvider",
27 * "add" = "\Drupal\entity\Form\RevisionableContentEntityForm",
28 * "edit" = "\Drupal\entity\Form\RevisionableContentEntityForm",
29 * "delete" = "\Drupal\Core\Entity\EntityDeleteForm",
31 * "route_provider" = {
32 * "html" = "\Drupal\entity\Routing\DefaultHtmlRouteProvider",
33 * "revision" = "\Drupal\entity\Routing\RevisionRouteProvider",
34 * "delete-multiple" = "\Drupal\entity\Routing\DeleteMultipleRouteProvider",
36 * "local_action_provider" = {
37 * "collection" = "\Drupal\entity\Menu\EntityCollectionLocalActionProvider",
39 * "list_builder" = "\Drupal\Core\Entity\EntityListBuilder",
41 * base_table = "entity_test_enhanced",
42 * data_table = "entity_test_enhanced_field_data",
43 * revision_table = "entity_test_enhanced_revision",
44 * revision_data_table = "entity_test_enhanced_field_revision",
45 * translatable = TRUE,
46 * revisionable = TRUE,
47 * admin_permission = "administer entity_test_enhanced",
48 * permission_granularity = "bundle",
53 * "langcode" = "langcode",
56 * "add-page" = "/entity_test_enhanced/add",
57 * "add-form" = "/entity_test_enhanced/add/{type}",
58 * "edit-form" = "/entity_test_enhanced/{entity_test_enhanced}/edit",
59 * "canonical" = "/entity_test_enhanced/{entity_test_enhanced}",
60 * "collection" = "/entity_test_enhanced",
61 * "delete-multiple-form" = "/entity_test_enhanced/delete",
62 * "revision" = "/entity_test_enhanced/{entity_test_enhanced}/revisions/{entity_test_enhanced_revision}/view",
63 * "revision-revert-form" = "/entity_test_enhanced/{entity_test_enhanced}/revisions/{entity_test_enhanced_revision}/revert",
64 * "version-history" = "/entity_test_enhanced/{entity_test_enhanced}/revisions",
66 * bundle_entity_type = "entity_test_enhanced_bundle",
69 class EnhancedEntity extends RevisionableContentEntityBase {
74 public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
75 $fields = parent::baseFieldDefinitions($entity_type);
77 $fields['name'] = BaseFieldDefinition::create('string')
79 ->setRevisionable(TRUE)
80 ->setDisplayOptions('view', [