Como obter o nome do tipo de conteúdo legível por humanos em um modelo de nó


14

Eu criei um modelo de nó para o meu nó e está funcionando bem.

Preciso imprimir o nome do tipo de conteúdo, que é como "White Paper" e tem o nome da máquina "w1" no meu modelo de nó. Se eu usar variável {{ node.bundle }}, está imprimindo o nome da máquina. Mas preciso do nome legível por humanos .

Eu tentei muitos elementos de nó, conteúdo e variáveis ​​de página, mas não consigo imprimir o nome do tipo de conteúdo legível por humanos.

Alguém pode ajudar?

Respostas:


22

Você deve conseguir o nome legível por humanos do tipo de conteúdo (ou o "rótulo") usando o seguinte trecho no modelo Twig do nó.

{{ node.type.entity.label }} 

2
sim, esta é a solução mais fácil, não cruzou a minha mente para usar este campo referenciando o tipo de nó
4k4

2
Eu tentei, {{}} node.label que estava retornando nome da máquina em vez disso, {{}} node.type.entity.label cumprido o meu propósito, graças :)
Dev

4

Você pode adicionar o nome legível por humanos do tipo de conteúdo em um gancho de pré-processo:

mytheme.theme

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

e use-o no modelo de nó:

{{ content_type }}

1
Apenas para o registro node_type_load está obsoleto, você deve usar NodeType :: load ().
Insasse
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.