Drupal มีแนวคิดแบบเนทีฟที่ยอดเยี่ยมสำหรับการทำสิ่งที่คุณพยายามทำให้สำเร็จ
ตัวหลักที่คุณกำลังมองหาอยู่ในตัว เรียกว่า บล็อก. บล็อกสามารถกำหนดเอนทิตีโดยพลการซึ่งสามารถวางในพื้นที่ธีมที่คุณกำหนดบนไซต์ของคุณ วิธีที่ Drupal จัดการกับเนื้อหาที่แสดงส่วนใหญ่จะผูกติดอยู่กับบล็อกไม่ทางใดก็ทางหนึ่ง ไม่ว่าจะเป็นบล็อกที่ระบบจัดการ เช่น บล็อก "เนื้อหาหลัก" บล็อกเมนู และอื่นๆ
คุณสามารถกำหนดบล็อกพื้นฐานซึ่งเป็นเพียงเนื้อหาแบบ WYSIWYG และวางไว้ในพื้นที่ธีม แต่ยังจำกัดตามประเภทเนื้อหา ภาษา เส้นทาง และอื่นๆ
คุณยังสามารถกำหนด Custom Block Types ซึ่งสามารถใส่ข้อมูลได้เช่นเดียวกับเอนทิตีอื่นๆ คุณสามารถควบคุมรูปลักษณ์ของพวกมันได้ด้วยกิ่งก้าน และตั้งค่าการออกแบบฟิลด์ที่เรียบง่ายหรือซับซ้อนตามที่คุณต้องการ
คุณสามารถเพิ่มโมดูลที่สนับสนุน เช่น บริบท เพื่อให้มีการควบคุมที่ละเอียดมากสำหรับสิ่งที่จะแสดงผลจากที่ใด
การแสดงฟิลด์ในเทมเพลตทวิกอาจทำได้ง่ายมากหรือยากมาก ขึ้นอยู่กับตำแหน่งที่คุณพยายามเรนเดอร์ฉันขอแนะนำให้อ่านผ่าน The คู่มือการกำหนดธีม Drupal เพื่อความเข้าใจทั่วไปเกี่ยวกับวิธีการทำงานทั้งหมด
เทมเพลต Drupal แบ่งออกเป็นเลเยอร์
- html.html.twig - ซึ่งเป็นโครงพื้นฐานของเว็บเพจ
- page.html.twig - ซึ่งเป็นโครงสร้างความหมายพื้นฐานของเพจของคุณ และตำแหน่งที่ภูมิภาคของคุณถูกวางไว้
- ภูมิภาค.html.twig - ซึ่งเป็นรหัสเสื้อคลุมสำหรับภูมิภาคของคุณที่มีการเผยแพร่บล็อก
- block.html.twig - ที่บล็อกได้รับธีม - สามารถแสดงฟิลด์ที่นี่ซึ่งสร้างขึ้นจากเอนทิตีบล็อก
- node.html.twig - โหนดคือ "หน้า" ของเนื้อหาที่คุณสร้าง เช่น บล็อกโพสต์ เนื้อหาเกี่ยวกับเรา และอื่นๆ สิ่งเหล่านี้สามารถมีฟิลด์และแสดงผลในระดับนี้ได้เช่นกัน
- field.html.twig - แต่ละฟิลด์ยังมีเทมเพลตของตัวเองและสามารถแก้ไขได้ตามที่คุณต้องการ
- และอื่น ๆ. (มีเทมเพลตประเภทอื่น ๆ อีกมากมาย มากเกินไปที่จะกล่าวถึงที่นี่ แต่คุณเข้าใจ) ดูการอ่านเพิ่มเติม: https://www.drupal.org/docs/theming-drupal/twig-in-drupal/twig-template-naming-conventions
ฉันหวังว่านี่จะช่วยได้!
PS: สุดท้ายนี้ ฉันจะไม่สร้างไซต์ใหม่โดยใช้ Drupal 8 Drupal เวอร์ชัน 8 หมดอายุการใช้งานแล้ว คุณควรจะสร้างบน Drupal 9 ข่าวดีก็คือ Drupal 9 นั้นใช้งานได้เกือบจะเหมือนกับ 8 และคุณควรจะสามารถอัปเกรดงานที่มีอยู่ของคุณให้ใช้งานได้โดยไม่มีปัญหาเล็กน้อย