วิธีรับชื่อชนิดเนื้อหาที่มนุษย์อ่านได้ในเท็มเพลตโหนด


14

ฉันสร้างเทมเพลตโหนดสำหรับโหนดของฉันและทำงานได้ดี

ฉันต้องการพิมพ์ชื่อประเภทเนื้อหาซึ่งคล้ายกับ "Whitepaper" และมีชื่อเครื่อง "w1" ในเทมเพลตโหนดของฉัน ถ้าฉันใช้ตัวแปร{{ node.bundle }}การพิมพ์ชื่อเครื่อง แต่ฉันต้องชื่อการอ่านของมนุษย์

ฉันลองใช้หลายองค์ประกอบของโหนดเนื้อหาและตัวแปรหน้า แต่ฉันไม่สามารถพิมพ์ชื่อประเภทเนื้อหาที่มนุษย์อ่านได้

ใครช่วยได้บ้าง

คำตอบ:


23

คุณควรจะสามารถรับชื่อประเภทเนื้อหา (หรือ "ฉลาก") ที่มนุษย์อ่านได้โดยใช้ตัวอย่างต่อไปนี้ในเทมเพลต Twig ของโหนด

{{ node.type.entity.label }} 

2
ใช่นี่เป็นวิธีแก้ปัญหาที่ง่ายที่สุดไม่ข้ามความคิดของฉันที่จะใช้ฟิลด์นี้อ้างอิงประเภทโหนด
4k4

2
ฉันพยายาม {{}} node.label ซึ่งกำลังจะกลับชื่อเครื่องแทน {{}} node.type.entity.label สำเร็จตามวัตถุประสงค์ของฉันขอบคุณ :)
Dev

4

คุณสามารถเพิ่มชื่อที่มนุษย์สามารถอ่านได้ของชนิดเนื้อหาใน hook การประมวลผลล่วงหน้า:

mytheme.theme

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

และใช้ในเทมเพลตโหนด:

{{ content_type }}

1
สำหรับเร็กคอร์ด node_type_load ถูกคัดค้านคุณควรใช้ NodeType :: load () แทน
Insasse
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.