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?

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 }} 

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 }}

1
Nur wenn der Datensatz node_type_load veraltet ist, sollten Sie stattdessen NodeType :: load () verwenden.
Insasse
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.