12 Drupal 8의 노드 객체에서 노드의 번들 레이블 (노드 유형 레이블)을 가져 오려고합니다. 이것은 작동하지만 오래 걸리는 것처럼 보입니다. $node_type = \Drupal::entityManager()->getStorage('node_type')->load($node->getType())->get('name'); 덜 복잡한 방법으로 번들 레이블을 얻는 다른 방법이 있습니까? 8 entities — Oknate 소스 6 $node->type->entity->label();좀 더 우아할까요? 현재 더 짧은 버전인지 확실하지 않습니다 — Clive 2 작은 가지 템플릿에서도 작동합니다 : {{node.type.entity.label}} — oknate
15 @Clive 에서 지적한대로 다음 코드가 작동합니다 . $type_name = $node->type->entity->label(); — 아니 Sssweat 소스 나를 위해 작동합니다. 감사합니다 — 하산 루크
5 이 코드를 사용해보십시오. use Drupal\node\Entity\NodeType; $types = NodeType::loadMultiple(); $bundle = $node->bundle(); $type_name = $types[$bundle]->label(); — MrD 소스 2 모든 노드 유형을로드하여 하나의 레이블을 가져옵니다. 조금 비효율적이며 원하는 것을로드하는 것이 좋습니다. — Berdir 동의하다! @No Sssweat의 코드를 기반으로합니다. — MrD 지적하기위한 @ Berdir thx. 나는 질문을 카멜레온하고 싶지 않기 때문에 이것을 대답으로 남겨 두겠습니다. 대신 내 답변에 코드를 사용하고 있습니다. — No Sssweat
$node->type->entity->label();좀 더 우아할까요? 현재 더 짧은 버전인지 확실하지 않습니다