ฉันมีวิธีแก้ไขปัญหาตามปกติสำหรับเอนทิตีที่กำหนดเอง:
ฟังก์ชัน module_theme($existing, $type, $theme, $path) {
กลับ [
'เอกลักษณ์' => [
'render element' => 'องค์ประกอบ',
'แม่แบบ' => 'ลักษณะเฉพาะ',
]
];
}
ฟังก์ชัน template_preprocess_customentity (อาร์เรย์ &$ตัวแปร) {
$ตัวแปร['เนื้อหา'] = [];
...
}
ฟังก์ชัน module_theme_suggestions_customentity_alter (อาร์เรย์ &$ คำแนะนำ ตัวแปร $ อาร์เรย์) {
$sanitized_view_mode = strtr($variables['elements']['#view_mode'], '.', '_');
$suggestions[] = 'ลักษณะนิสัย__' $sanitized_view_mode;
}
ปัญหาเดียวคือเมื่อฉันต้องการใช้กิ่งเฉพาะสำหรับโหมดมุมมอง customentity--viewmode.html.twig
จะใช้งานได้ก็ต่อเมื่อไฟล์ twig อยู่ในธีมเท่านั้น หากอยู่ในโมดูล แม่แบบ
โฟลเดอร์ ไม่ถูกหยิบขึ้นมา (ตรวจสอบทุกกรณีอย่างละเอียดด้วยการดีบัก twig)
ดังนั้นในเรื่องนี้มันใช้งานได้ ถึงกระนั้น ฉันต้องการกิ่งก้านในโมดูลเพราะในกรณีนี้ มันไม่ใช่คำถามที่มีธีมเพียงอย่างเดียว โหมดการดูเป็นทั้งเชิงตรรกะและเชิงโปรแกรมซึ่งเป็นวิธีที่แตกต่างอย่างสิ้นเชิงในการนำเสนอเนื้อหา มีไว้สำหรับใช้ภายใน ไม่ใช่โมดูลสนับสนุน ดังนั้นจึงไม่เป็นไปตามความคาดหวังของผู้ใช้ทั่วไป