Answers:
您可以使用NodeType类加载所有NodeType实体(配置实体):
$node_types = \Drupal\node\Entity\NodeType::loadMultiple();
// If you need to display them in a drop down:
$options = [];
foreach ($node_types as $node_type) {
$options[$node_type->id()] = $node_type->label();
}
loadMultiple()
,load()
和create()
方法的诀窍是在您要使用的实体类型类上调用它们,然后找出类型并动态地执行上述操作。这有点短并且易于使用,但是建议尽可能使用注入的服务,因此在服务/控制器/插件中,您将注入实体类型管理器,然后使用它。允许进行更轻松的(单元)测试,但结果大致相同。