public EntityTypeRepository::getEntityTypeLabels($group = FALSE)
Builds a list of entity type labels suitable for a Form API options list.
Parameters
bool $group: (optional) Whether to group entity types by plugin group (e.g. 'content', 'config'). Defaults to FALSE.
Return value
array An array of entity type labels, keyed by entity type name.
Overrides EntityTypeRepositoryInterface::getEntityTypeLabels
File
- core/lib/Drupal/Core/Entity/EntityTypeRepository.php, line 45
Class
- EntityTypeRepository
- Provides helper methods for loading entity types.
Namespace
Drupal\Core\Entity
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | public function getEntityTypeLabels( $group = FALSE) { $options = []; $definitions = $this ->entityTypeManager->getDefinitions(); foreach ( $definitions as $entity_type_id => $definition ) { if ( $group ) { $options [(string) $definition ->getGroupLabel()][ $entity_type_id ] = $definition ->getLabel(); } else { $options [ $entity_type_id ] = $definition ->getLabel(); } } if ( $group ) { foreach ( $options as & $group_options ) { // Sort the list alphabetically by group label. array_multisort ( $group_options , SORT_ASC, SORT_NATURAL); } // Make sure that the 'Content' group is situated at the top. $content = $this ->t( 'Content' , array (), array ( 'context' => 'Entity type group' )); $options = array ((string) $content => $options [(string) $content ]) + $options ; } return $options ; } |
Please login to continue.