노드 템플리트에서 사람이 읽을 수있는 컨텐츠 유형 이름을 얻는 방법


14

노드에 대한 노드 템플릿을 만들었으며 정상적으로 작동합니다.

"백서"와 같은 컨텐츠 유형 이름을 인쇄해야하며 노드 이름에 시스템 이름이 "w1"입니다. variable을 사용 {{ node.bundle }}하면 시스템 이름이 인쇄됩니다. 그러나 사람이 읽을 수있는 이름이 필요합니다 .

노드, 컨텐츠 및 페이지 변수의 많은 요소를 시도했지만 사람이 읽을 수있는 컨텐츠 유형 이름을 인쇄 할 수 없습니다.

아무도 도와 줄 수 있습니까?

답변:


23

노드 Twig 템플리트에서 다음 스 니펫을 사용하여 사람이 읽을 수있는 컨텐츠 유형의 이름 (또는 "레이블")을 얻을 수 있어야합니다.

{{ node.type.entity.label }} 

2
예, 이것이 가장 쉬운 해결책입니다. 노드 유형을 참조하는이 필드를 사용하기 위해 마음을 쓰지 않았습니다
4k4

2
기계 이름을 대신 반환하는 {{node.label}}을 (를) 시도했습니다. {{node.type.entity.label}}은 (는) 감사합니다. 덕분에 :)
Dev

4

사전 프로세스 후크에서 사람이 읽을 수있는 컨텐츠 유형의 이름을 추가 할 수 있습니다.

mytheme.theme

/**
 * Implements hook_preprocess_node().
 */
function mytheme_preprocess_node(array &$variables) {
  $node = $variables['node'];
  $variables['content_type'] = node_type_load($node->bundle())->label();
}

노드 템플릿에서 사용하십시오.

{{ content_type }}

1
레코드 node_type_load가 더 이상 사용되지 않으므로 대신 NodeType :: load ()를 사용해야합니다.
Insasse
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.