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();}
static loadMultiple(), load()및 create()메서드를 사용하는 요령 은 사용하려는 엔티티 유형 클래스에서 호출하는 것입니다. 그런 다음 유형을 파악하고 사용하여 동적으로 위의 작업을 수행합니다. 이것은 조금 짧고 사용하기 쉽지만 가능하면 주입 된 서비스를 사용하는 것이 좋습니다. 따라서 서비스 / 컨트롤러 / 플러그인에서는 엔티티 유형 관리자를 주입 한 다음 사용합니다. 보다 쉬운 (단위) 테스트가 가능하지만 결과는 거의 동일합니다.
node_type_get_names()향후에 더 이상 사용되지 않을 경우를 대비하여 제공됩니다 ( array_map사용 의 좋은 예 ).
function node_type_get_names(){return array_map(function($bundle_info){return $bundle_info['label'];}, \Drupal::service('entity_type.bundle.info')->getBundleInfo('node'));}
loadMultiple(),load()및create()메서드를 사용하는 요령 은 사용하려는 엔티티 유형 클래스에서 호출하는 것입니다. 그런 다음 유형을 파악하고 사용하여 동적으로 위의 작업을 수행합니다. 이것은 조금 짧고 사용하기 쉽지만 가능하면 주입 된 서비스를 사용하는 것이 좋습니다. 따라서 서비스 / 컨트롤러 / 플러그인에서는 엔티티 유형 관리자를 주입 한 다음 사용합니다. 보다 쉬운 (단위) 테스트가 가능하지만 결과는 거의 동일합니다.