该服务为实体类型操作提供辅助方法,这些方法不适合划归到其他组件中,服务定义如下:
服务id:entity_type.repository
类:\Drupal\Core\Entity\EntityTypeRepository
接口:\Drupal\Core\Entity\EntityTypeRepositoryInterface
获取方法:$entity_type_repository = \Drupal::service('entity_type.repository');
目前提供了两个辅助方法:
public function getEntityTypeLabels($group = FALSE):
返回系统中全部实体的label,通常用于向相关表单下拉选择框提供选项值,默认返回一个数组,键名是实体类型id,键值为翻译对象表示的label,如果参数$group设置为true,那么第一级键名为分组名,默认只有内容和配置两个组(在释文对象中有补充组信息),第二级键名为实体类型id,键值为翻译对象表示的label,可以在控制器中运行以下代码:
$group_labels = \Drupal::service('entity_type.repository')->getEntityTypeLabels(true);
foreach ($group_labels as $group => &$labels) {
foreach ($labels as &$label) {