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?

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

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

1
Hanya untuk catatan, node_type_load sudah tidak digunakan lagi, Anda harus menggunakan NodeType :: load ().
Insasse
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.