Cara mendapatkan nama tipe konten yang dapat dibaca manusia di templat simpul

14

Saya telah membuat template node untuk node saya, dan itu berfungsi dengan baik.

Saya perlu mencetak nama tipe konten, yang seperti "Whitepaper" dan memiliki nama mesin "w1" di template node saya. Jika saya menggunakan variabel {{ node.bundle }}, itu mencetak nama mesin. Tapi aku butuh nama yang bisa dibaca manusia .

Saya mencoba banyak elemen dari simpul, konten dan variabel halaman tetapi saya tidak dapat mencetak nama tipe konten yang dapat dibaca manusia.

Adakah yang bisa membantu?

Dev
sumber

Jawaban:

22

Anda harus bisa mendapatkan nama tipe konten yang dapat dibaca manusia (atau "label") dengan menggunakan potongan berikut di templat Twig node Anda.

{{ node.type.entity.label }} 
edwardchiapet
sumber
2
ya, ini adalah solusi termudah, tidak terlintas dalam pikiran saya untuk menggunakan bidang ini referensi tipe simpul
4k4
2
Saya mencoba, {{node.label}} yang mengembalikan nama mesin sebagai gantinya, {{node.type.entity.label}} memenuhi tujuan saya, terima kasih :)
Dev
4

Anda dapat menambahkan nama tipe konten yang dapat dibaca manusia di kait preproses:

mytheme.theme

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

dan menggunakannya dalam template simpul:

{{ content_type }}
4k4
sumber
1
Hanya untuk catatan, node_type_load sudah tidak digunakan lagi, Anda harus menggunakan NodeType :: load ().
Insasse