So erhalten Sie den Namen des lesbaren Inhaltstyps in einer Knotenvorlage

14

Ich habe eine Knotenvorlage für meinen Knoten erstellt und sie funktioniert einwandfrei.

Ich muss den Namen des Inhaltstyps drucken, der wie "Whitepaper" aussieht und in meiner Knotenvorlage den Computernamen "w1" enthält. Wenn ich Variable benutze {{ node.bundle }}, wird der Name der Maschine gedruckt. Aber ich brauche den von Menschen lesbaren Namen .

Ich habe viele Elemente von Knoten-, Inhalts- und Seitenvariablen ausprobiert, kann aber den Namen des lesbaren Inhaltstyps nicht drucken.

Kann jemand helfen?

Dev
quelle

Antworten:

21

Sie sollten in der Lage sein, den lesbaren Namen des Inhaltstyps (oder der "Bezeichnung") mithilfe des folgenden Snippets in Ihrer Knoten-Zweig-Vorlage abzurufen.

{{ node.type.entity.label }} 
edwardchiapet
quelle
2
ja, das ist die einfachste Lösung, nicht meinen Verstand kreuzen Sie dieses Feld verwenden Referenzierung den Knotentyp
4K4
2
Ich habe versucht, {{node.label}}, der stattdessen den Computernamen zurückgibt, {{node.type.entity.label}} meinen Zweck erfüllt, danke :)
Dev
4

Sie können den lesbaren Namen des Inhaltstyps in einem Vorverarbeitungs-Hook hinzufügen:

mytheme.theme

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

und benutze es in der Knotenvorlage:

{{ content_type }}
4k4
quelle
1
Nur wenn der Datensatz node_type_load veraltet ist, sollten Sie stattdessen NodeType :: load () verwenden.
Insasse